diff options
Diffstat (limited to 'billing/app/helpers')
-rw-r--r-- | billing/app/helpers/billing_helper.rb | 51 | ||||
-rw-r--r-- | billing/app/helpers/braintree_form_helper.rb | 64 | ||||
-rw-r--r-- | billing/app/helpers/braintree_helper.rb | 5 |
3 files changed, 0 insertions, 120 deletions
diff --git a/billing/app/helpers/billing_helper.rb b/billing/app/helpers/billing_helper.rb deleted file mode 100644 index b9e5e2e..0000000 --- a/billing/app/helpers/billing_helper.rb +++ /dev/null @@ -1,51 +0,0 @@ -module BillingHelper - - def braintree_form_for(object, options = {}, &block) - options.reverse_merge! params: @result && @result.params[object], - errors: @result && @result.errors.for(object), - builder: BraintreeFormHelper::BraintreeFormBuilder, - url: Braintree::TransparentRedirect.url - - form_for object, options, &block - end - - def billing_top_link(user) - # for admins, top link will show special admin information, which has link to show their own customer information - if (admin? and user == current_user) - billing_admin_path - else - show_or_new_customer_link(user) - end - end - - def show_or_new_customer_link(user) - # Link to show if user is admin viewing another user, or user is already a customer. - # Otherwise link to create a new customer. - if (admin? and (user != current_user)) or ((customer = Customer.find_by_user_id(user.id)) and customer.has_payment_info?) - show_customer_path(user) - else - new_customer_path - end - end - - # a bit strange to put here, but we don't have a subscription model - def user_for_subscription(subscription) - - if (transaction = subscription.transactions.first) - # much quicker, but will only work if there is already a transaction associated with subscription (should generally be) - braintree_customer_id = transaction.customer_details.id - else - credit_card = Braintree::CreditCard.find(subscription.payment_method_token) - braintree_customer_id = credit_card.customer_id - end - - customer = Customer.find_by_braintree_customer_id(braintree_customer_id) - user = User.find(customer.user_id) - - end - - def allow_cancel_subscription(subscription) - ['Active', 'Pending'].include? subscription.status or (admin? and subscription.status == 'Past Due') - end - -end diff --git a/billing/app/helpers/braintree_form_helper.rb b/billing/app/helpers/braintree_form_helper.rb deleted file mode 100644 index cb322fa..0000000 --- a/billing/app/helpers/braintree_form_helper.rb +++ /dev/null @@ -1,64 +0,0 @@ -module BraintreeFormHelper - class BraintreeFormBuilder < ActionView::Helpers::FormBuilder - include ActionView::Helpers::AssetTagHelper - include ActionView::Helpers::TagHelper - - def initialize(object_name, object, template, options, proc) - super - @braintree_params = @options[:params] - @braintree_errors = @options[:errors] - @braintree_existing = @options[:existing] - end - - def fields_for(record_name, *args, &block) - options = args.extract_options! - options[:builder] = BraintreeFormBuilder - options[:params] = @braintree_params && @braintree_params[record_name] - options[:errors] = @braintree_errors && @braintree_errors.for(record_name) - new_args = args + [options] - super record_name, *new_args, &block - end - - def text_field(method, options = {}) - has_errors = @braintree_errors && @braintree_errors.on(method).any? - field = super(method, options.merge(:value => determine_value(method))) - result = content_tag("div", field, :class => has_errors ? "fieldWithErrors" : "") - result.safe_concat validation_errors(method) - result - end - - protected - - def determine_value(method) - if @braintree_params - @braintree_params[method] - elsif @braintree_existing - - if @braintree_existing.kind_of?(Braintree::CreditCard) - - case method - when :number - method = :masked_number - when :cvv - return nil - end - end - - @braintree_existing.send(method) - else - nil - end - end - - def validation_errors(method) - if @braintree_errors && @braintree_errors.on(method).any? - @braintree_errors.on(method).map do |error| - content_tag("div", ERB::Util.h(error.message), {:style => "color: red;"}) - end.join - else - "" - end - end - end -end - diff --git a/billing/app/helpers/braintree_helper.rb b/billing/app/helpers/braintree_helper.rb deleted file mode 100644 index 2d18b6c..0000000 --- a/billing/app/helpers/braintree_helper.rb +++ /dev/null @@ -1,5 +0,0 @@ -module BraintreeHelper - - -end - |