summaryrefslogtreecommitdiff
path: root/billing/app/controllers/customer_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'billing/app/controllers/customer_controller.rb')
-rw-r--r--billing/app/controllers/customer_controller.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/billing/app/controllers/customer_controller.rb b/billing/app/controllers/customer_controller.rb
index 9ad6d93..06d1cb1 100644
--- a/billing/app/controllers/customer_controller.rb
+++ b/billing/app/controllers/customer_controller.rb
@@ -19,6 +19,16 @@ class CustomerController < BillingBaseController
@tr_data = Braintree::TransparentRedirect.
update_customer_data(:redirect_url => confirm_customer_url,
:customer_id => params[:id])
+ @subscriptions = Array.new
+
+ # SUPER SLOW :(
+ # asked question to see about optimizing: http://stackoverflow.com/questions/15910980/retrieving-a-braintree-customers-subscriptions
+ transactions = @braintree_data.transactions
+ transactions.each do |cust_transaction|
+ transaction = Braintree::Transaction.find(cust_transaction.id) if (cust_transaction and cust_transaction.id) # why is cust_transaction nil in cases?
+ subscription = Braintree::Subscription.find(transaction.subscription_id) if (transaction and transaction.subscription_id)
+ @subscriptions << subscription if subscription and subscription.status == 'Active'
+ end
else
# TODO: will want to have case for admins, presumably
access_denied