summaryrefslogtreecommitdiff
path: root/billing/app/controllers
diff options
context:
space:
mode:
authorAzul <azul@leap.se>2014-04-11 10:03:19 +0200
committerAzul <azul@leap.se>2014-04-11 10:07:23 +0200
commit636692f9921bd695d726695d2d46c91f5a6e56f3 (patch)
treea7cc0b89007bd273ae7719f31c16e052a141fec7 /billing/app/controllers
parent32136605ddd405a0bf47f3b795b22fd4b49465b5 (diff)
move engines into engines directory
Also renamed help to support so it's harder to confuse it with documentation
Diffstat (limited to 'billing/app/controllers')
-rw-r--r--billing/app/controllers/billing_admin_controller.rb29
-rw-r--r--billing/app/controllers/billing_base_controller.rb22
-rw-r--r--billing/app/controllers/credit_card_info_controller.rb35
-rw-r--r--billing/app/controllers/customer_controller.rb64
-rw-r--r--billing/app/controllers/payments_controller.rb34
-rw-r--r--billing/app/controllers/subscriptions_controller.rb63
6 files changed, 0 insertions, 247 deletions
diff --git a/billing/app/controllers/billing_admin_controller.rb b/billing/app/controllers/billing_admin_controller.rb
deleted file mode 100644
index e11d4ee..0000000
--- a/billing/app/controllers/billing_admin_controller.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-class BillingAdminController < BillingBaseController
- before_filter :require_admin
-
- def show
-
- br_atleast_90_days = Braintree::Subscription.search do |search|
- search.days_past_due >= 90
- end
- @past_due_atleast_90_days = braintree_resource_collection_to_array(br_atleast_90_days)
-
- br_all_past_due = Braintree::Subscription.search do |search|
- search.status.is Braintree::Subscription::Status::PastDue
- #cannot search by balance.
- end
- @all_past_due = braintree_resource_collection_to_array(br_all_past_due)
-
- end
-
- private
-
- def braintree_resource_collection_to_array(braintree_resource_collection)
- array = []
- braintree_resource_collection.each do |object|
- array << object
- end
- array
- end
-
-end
diff --git a/billing/app/controllers/billing_base_controller.rb b/billing/app/controllers/billing_base_controller.rb
deleted file mode 100644
index 0453677..0000000
--- a/billing/app/controllers/billing_base_controller.rb
+++ /dev/null
@@ -1,22 +0,0 @@
-class BillingBaseController < ApplicationController
- before_filter :assign_user
-
- helper 'billing'
-
- # required for navigation to work.
- def assign_user
- if params[:user_id]
- @user = User.find(params[:user_id])
- elsif params[:action] == "confirm"# confirms will come back with different ID set, so check for this first
- # This is only for cases where an admin cannot apply action for customer, but should be all confirms
- @user = current_user
- elsif params[:id]
- @user = User.find(params[:id])
- else
- # TODO
- # hacky, what are cases where @user hasn't yet been set? certainly some cases with subscriptions and payments
- @user = current_user
- end
- end
-
-end
diff --git a/billing/app/controllers/credit_card_info_controller.rb b/billing/app/controllers/credit_card_info_controller.rb
deleted file mode 100644
index fbaa6f1..0000000
--- a/billing/app/controllers/credit_card_info_controller.rb
+++ /dev/null
@@ -1,35 +0,0 @@
-class CreditCardInfoController < ApplicationController
- before_filter :require_login, :set_user
-
- def edit
- @credit_card = Braintree::CreditCard.find(params[:id])
- customer = Customer.find_by_user_id(@user.id)
- if customer and customer.braintree_customer_id == @credit_card.customer_id
- @tr_data = Braintree::TransparentRedirect.
- update_credit_card_data(:redirect_url => confirm_credit_card_info_url,
- :payment_method_token => @credit_card.token)
- else
- access_denied
- end
-
- end
-
- def confirm
- @result = Braintree::TransparentRedirect.confirm(request.query_string)
- if @result.success?
- render :action => "confirm"
- else
- @credit_card = Braintree::CreditCard.find(@result.params[:payment_method_token])
- render :action => "edit"
- end
- end
-
-
- private
-
- def set_user
- # this assumes anybody, even an admin, will not access for another user.
- @user = current_user
- end
-
-end
diff --git a/billing/app/controllers/customer_controller.rb b/billing/app/controllers/customer_controller.rb
deleted file mode 100644
index 6cbcb44..0000000
--- a/billing/app/controllers/customer_controller.rb
+++ /dev/null
@@ -1,64 +0,0 @@
-class CustomerController < BillingBaseController
- before_filter :require_login, :fetch_customer
-
- def show
- if @customer
- @customer.with_braintree_data!
- @default_cc = @customer.default_credit_card
- @active_subscription = @customer.subscriptions
- @transactions = @customer.braintree_customer.transactions
- end
- end
-
- def new
- if @customer.has_payment_info?
- redirect_to edit_customer_path(@user), :notice => 'Here is your saved customer data'
- else
- fetch_new_transparent_redirect_data
- end
- end
-
- def edit
- fetch_edit_transparent_redirect_data
- end
-
- def confirm
- @result = Braintree::TransparentRedirect.confirm(request.query_string)
- if @result.success?
- @customer.braintree_customer = @result.customer
- @customer.save
- render :action => "confirm"
- elsif @customer.has_payment_info?
- fetch_edit_transparent_redirect_data
- render :action => "edit"
- else
- fetch_new_transparent_redirect_data
- render :action => "new"
- end
- end
-
- protected
-
- def fetch_new_transparent_redirect_data
- access_denied unless @user == current_user # admins cannot do this for others
- @tr_data = Braintree::TransparentRedirect.
- create_customer_data(:redirect_url => confirm_customer_url)
- end
-
- def fetch_edit_transparent_redirect_data
- access_denied unless @user == current_user # admins cannot do this for others
- @customer.with_braintree_data!
- @default_cc = @customer.default_credit_card
- @tr_data = Braintree::TransparentRedirect.
- update_customer_data(:redirect_url => confirm_customer_url,
- :customer_id => @customer.braintree_customer_id) ##??
- end
-
- def fetch_customer
- @customer = Customer.find_by_user_id(@user.id)
- if @user == current_user
- @customer ||= Customer.new(user: @user)
- end
- access_denied unless (@customer and (@customer.user == current_user)) or admin?
- end
-end
diff --git a/billing/app/controllers/payments_controller.rb b/billing/app/controllers/payments_controller.rb
deleted file mode 100644
index fce6570..0000000
--- a/billing/app/controllers/payments_controller.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-class PaymentsController < BillingBaseController
- before_filter :require_login, :only => [:index]
-
- def new
- fetch_transparent_redirect
- end
-
- def confirm
- @result = Braintree::TransparentRedirect.confirm(request.query_string)
- if @result.success?
- render :action => "confirm"
- else
- fetch_transparent_redirect
- render :action => "new"
- end
- end
-
- def index
- access_denied unless admin? or (@user == current_user)
- customer = Customer.find_by_user_id(@user.id)
- braintree_data = Braintree::Customer.find(customer.braintree_customer_id)
- # these will be ordered by created_at descending, per http://stackoverflow.com/questions/16425475/
- @transactions = braintree_data.transactions
- end
-
- protected
-
-
- def fetch_transparent_redirect
- @tr_data = Braintree::TransparentRedirect.transaction_data redirect_url: confirm_payment_url,
- transaction: { type: "sale", options: {submit_for_settlement: true } }
- end
-
-end
diff --git a/billing/app/controllers/subscriptions_controller.rb b/billing/app/controllers/subscriptions_controller.rb
deleted file mode 100644
index f066b3c..0000000
--- a/billing/app/controllers/subscriptions_controller.rb
+++ /dev/null
@@ -1,63 +0,0 @@
-class SubscriptionsController < BillingBaseController
- before_filter :require_login
- before_filter :fetch_subscription, :only => [:show, :destroy]
- before_filter :confirm_cancel_subscription, :only => [:destroy]
- before_filter :confirm_self_or_admin, :only => [:index]
- before_filter :confirm_no_pending_active_pastdue_subscription, :only => [:new, :create]
- # for now, admins cannot create or destroy subscriptions for others:
- before_filter :confirm_self, :only => [:new, :create]
-
- def new
- # don't show link to subscribe if they are already subscribed?
- credit_card = @customer.default_credit_card #safe to assume default?
- @payment_method_token = credit_card.token
- @plans = Braintree::Plan.all
- end
-
- # show has no content, so not needed at this point.
-
- def create
- @result = Braintree::Subscription.create( :payment_method_token => params[:payment_method_token], :plan_id => params[:plan_id] )
- #if you want to test pastdue, can add :price => '2001', :trial_period => true,:trial_duration => 1,:trial_duration_unit => "day" and then wait a day
- end
-
- def destroy
- @result = Braintree::Subscription.cancel params[:id]
- end
-
- def index
- customer = Customer.find_by_user_id(@user.id)
- @subscriptions = customer.subscriptions(nil, false)
- end
-
- private
-
- def fetch_subscription
- @subscription = Braintree::Subscription.find params[:id]
- @credit_card = Braintree::CreditCard.find @subscription.payment_method_token
- @subscription_customer_id = @credit_card.customer_id
- current_user_customer = Customer.find_by_user_id(current_user.id)
- access_denied unless admin? or (current_user_customer and current_user_customer.braintree_customer_id == @subscription_customer_id)
-
- end
-
- def confirm_cancel_subscription
- access_denied unless view_context.allow_cancel_subscription(@subscription)
- end
-
- def confirm_no_pending_active_pastdue_subscription
- @customer = Customer.find_by_user_id(@user.id)
- if subscription = @customer.subscriptions # will return pending, active or pastdue subscription, if it exists
- redirect_to user_subscription_path(@user, subscription.id), :notice => 'You already have a subscription'
- end
- end
-
- def confirm_self
- @user == current_user
- end
-
- def confirm_self_or_admin
- access_denied unless confirm_self or admin?
- end
-
-end