summaryrefslogtreecommitdiff
path: root/engines/billing/app/controllers/customer_controller.rb
diff options
context:
space:
mode:
authorclaucece <soficeli0@gmail.com>2015-09-22 10:48:14 -0500
committerclaucece <soficeli0@gmail.com>2015-10-05 22:39:31 -0500
commitc10bbfa44442c86fda82c16524341d5f21b63664 (patch)
treee406e181bc5ff74cc9462e3dd707003ecee00e93 /engines/billing/app/controllers/customer_controller.rb
parent2e1d21f53f0f96fba544b592fde84af2f4879a24 (diff)
subscriptions, translation
Diffstat (limited to 'engines/billing/app/controllers/customer_controller.rb')
-rw-r--r--engines/billing/app/controllers/customer_controller.rb63
1 files changed, 9 insertions, 54 deletions
diff --git a/engines/billing/app/controllers/customer_controller.rb b/engines/billing/app/controllers/customer_controller.rb
index 6cbcb44..3a82ff7 100644
--- a/engines/billing/app/controllers/customer_controller.rb
+++ b/engines/billing/app/controllers/customer_controller.rb
@@ -1,64 +1,19 @@
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
+ before_filter :require_login
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"
+ if current_user.braintree_customer_id
+ Braintree::Customer.find current_user.braintree_customer_id
else
- fetch_new_transparent_redirect_data
- render :action => "new"
+ customer = Braintree::Customer.create(payment_method_nonce: params[:payment_method_nonce]).customer
+ current_user.update_attributes braintree_customer_id: customer.id
+ customer
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) ##??
+ def show
+ if current_user.braintree_customer_id
+ Braintree::Customer.find current_user.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