diff options
author | jessib <jessib@leap.se> | 2013-04-23 13:23:01 -0700 |
---|---|---|
committer | Azul <azul@leap.se> | 2013-07-17 10:47:13 +0200 |
commit | 1e557522fafc26829b8e9a873da28b7082d4df42 (patch) | |
tree | a78542bf9cc801d444168e2a88f1957c27a6d8b7 /billing/app/controllers/customer_controller.rb | |
parent | c2330394daf004974656d8240ca6c83567401595 (diff) |
Some improvements to navigation, and pulling out separate show/edit views for customers.
Diffstat (limited to 'billing/app/controllers/customer_controller.rb')
-rw-r--r-- | billing/app/controllers/customer_controller.rb | 54 |
1 files changed, 32 insertions, 22 deletions
diff --git a/billing/app/controllers/customer_controller.rb b/billing/app/controllers/customer_controller.rb index d71a5e4..556b607 100644 --- a/billing/app/controllers/customer_controller.rb +++ b/billing/app/controllers/customer_controller.rb @@ -1,5 +1,18 @@ class CustomerController < BillingBaseController before_filter :authorize + before_filter :fetch_customer_data, :only => [:show, :edit] + + + def show + @subscriptions = @customer.active_subscriptions(@braintree_data) + + # UGLY Braintree::ResourceCollection to array. + # might want method + @transactions = [] + @braintree_data.transactions.each do |transaction| + @transactions << transaction + end + end def new if customer = Customer.find_by_user_id(current_user.id) @@ -8,30 +21,12 @@ class CustomerController < BillingBaseController @tr_data = Braintree::TransparentRedirect. create_customer_data(:redirect_url => confirm_customer_url) end - end + end def edit - if ((customer = Customer.find_by_user_id(current_user.id)) and - (params[:id] == customer.braintree_customer_id)) - #current_customer.with_braintree_data! - @braintree_data = Braintree::Customer.find(params[:id]) #used in editing form - @default_cc = customer.default_credit_card(@braintree_data) - @tr_data = Braintree::TransparentRedirect. - update_customer_data(:redirect_url => confirm_customer_url, - :customer_id => params[:id]) - - @subscriptions = customer.active_subscriptions(@braintree_data) - - # UGLY Braintree::ResourceCollection to array. - # might want method - @transactions = [] - @braintree_data.transactions.each do |transaction| - @transactions << transaction - end - else - # TODO: will want to have case for admins, presumably - access_denied - end + @tr_data = Braintree::TransparentRedirect. + update_customer_data(:redirect_url => confirm_customer_url, + :customer_id => params[:id]) end def confirm @@ -52,4 +47,19 @@ class CustomerController < BillingBaseController render :action => "new" end end + + private + + def fetch_customer_data + if ((@customer = Customer.find_by_user_id(current_user.id)) and + (params[:id] == @customer.braintree_customer_id)) + #current_customer.with_braintree_data! + @braintree_data = Braintree::Customer.find(params[:id]) #used in editing form + @default_cc = @customer.default_credit_card(@braintree_data) + else + # TODO will want case for admins, presumably + access_denied + end + end + end |