diff options
| -rw-r--r-- | billing/app/controllers/customer_controller.rb | 30 | 
1 files changed, 19 insertions, 11 deletions
| diff --git a/billing/app/controllers/customer_controller.rb b/billing/app/controllers/customer_controller.rb index bdb89f7..e6bf76b 100644 --- a/billing/app/controllers/customer_controller.rb +++ b/billing/app/controllers/customer_controller.rb @@ -2,19 +2,27 @@ class CustomerController < ApplicationController    before_filter :authorize    def new -    @tr_data = Braintree::TransparentRedirect. -                create_customer_data(:redirect_url => confirm_customer_url) -  end +    if customer = Customer.find_by_user_id(current_user.id) +      redirect_to edit_customer_path(customer.braintree_customer_id) +    else +      @tr_data = Braintree::TransparentRedirect. +        create_customer_data(:redirect_url => confirm_customer_url) +    end + end    def edit -    customer = Customer.find_by_user_id(current_user.id) -    #current_customer.with_braintree_data! -    # @credit_card = current_customer.default_credit_card -    @braintree_data = Braintree::Customer.find(customer.braintree_customer_id) -    @default_cc = @braintree_data.credit_cards.find { |cc| cc.default? } -    @tr_data = Braintree::TransparentRedirect. -                update_customer_data(:redirect_url => confirm_customer_url, -                                     :customer_id => customer.braintree_customer_id) +    if (params[:id] == Customer.find_by_user_id(current_user.id).braintree_customer_id) +      #current_customer.with_braintree_data! +      # @credit_card = current_customer.default_credit_card +      @braintree_data = Braintree::Customer.find(params[:id]) +      @default_cc = @braintree_data.credit_cards.find { |cc| cc.default? } +      @tr_data = Braintree::TransparentRedirect. +        update_customer_data(:redirect_url => confirm_customer_url, +                             :customer_id => params[:id]) +    else +      # TODO: will want to have case for admins, presumably +      access_denied +    end    end    def confirm | 
