From 5442da999c8398b1e84162996f1e944c6496b095 Mon Sep 17 00:00:00 2001 From: jessib Date: Tue, 30 Apr 2013 13:54:46 -0700 Subject: Changing customers route to be plural. --- billing/app/controllers/customer_controller.rb | 65 ---------------------- billing/app/controllers/customers_controller.rb | 65 ++++++++++++++++++++++ billing/app/views/customer/_subscription.html.haml | 1 - billing/app/views/customer/_transaction.html.haml | 15 ----- billing/app/views/customer/confirm.html.haml | 12 ---- billing/app/views/customer/edit.html.haml | 22 -------- billing/app/views/customer/new.html.haml | 24 -------- billing/app/views/customer/show.html.haml | 8 --- .../app/views/customers/_subscription.html.haml | 1 + billing/app/views/customers/_transaction.html.haml | 15 +++++ billing/app/views/customers/confirm.html.haml | 12 ++++ billing/app/views/customers/edit.html.haml | 22 ++++++++ billing/app/views/customers/new.html.haml | 24 ++++++++ billing/app/views/customers/show.html.haml | 8 +++ 14 files changed, 147 insertions(+), 147 deletions(-) delete mode 100644 billing/app/controllers/customer_controller.rb create mode 100644 billing/app/controllers/customers_controller.rb delete mode 100644 billing/app/views/customer/_subscription.html.haml delete mode 100644 billing/app/views/customer/_transaction.html.haml delete mode 100644 billing/app/views/customer/confirm.html.haml delete mode 100644 billing/app/views/customer/edit.html.haml delete mode 100644 billing/app/views/customer/new.html.haml delete mode 100644 billing/app/views/customer/show.html.haml create mode 100644 billing/app/views/customers/_subscription.html.haml create mode 100644 billing/app/views/customers/_transaction.html.haml create mode 100644 billing/app/views/customers/confirm.html.haml create mode 100644 billing/app/views/customers/edit.html.haml create mode 100644 billing/app/views/customers/new.html.haml create mode 100644 billing/app/views/customers/show.html.haml (limited to 'billing/app') diff --git a/billing/app/controllers/customer_controller.rb b/billing/app/controllers/customer_controller.rb deleted file mode 100644 index 556b607..0000000 --- a/billing/app/controllers/customer_controller.rb +++ /dev/null @@ -1,65 +0,0 @@ -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) - 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 - @tr_data = Braintree::TransparentRedirect. - update_customer_data(:redirect_url => confirm_customer_url, - :customer_id => params[:id]) - end - - def confirm - @result = Braintree::TransparentRedirect.confirm(request.query_string) - - if @result.success? - # customer = Customer.new(:user_id => current_user.id, :braintree_customer_id => @result.customer.id) - customer = Customer.new(:braintree_customer_id => @result.customer.id) - customer.user = current_user - customer.save - #current_user.save! - render :action => "confirm" - #elsif current_user.has_payment_info? - elsif (customer = Customer.find_by_user_id(current_user.id)) and customer.has_payment_info? - #customer.with_braintree_data! - render :action => "edit" - else - 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 diff --git a/billing/app/controllers/customers_controller.rb b/billing/app/controllers/customers_controller.rb new file mode 100644 index 0000000..e62472f --- /dev/null +++ b/billing/app/controllers/customers_controller.rb @@ -0,0 +1,65 @@ +class CustomersController < 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) + 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 + @tr_data = Braintree::TransparentRedirect. + update_customer_data(:redirect_url => confirm_customer_url, + :customer_id => params[:id]) + end + + def confirm + @result = Braintree::TransparentRedirect.confirm(request.query_string) + + if @result.success? + # customer = Customer.new(:user_id => current_user.id, :braintree_customer_id => @result.customer.id) + customer = Customer.new(:braintree_customer_id => @result.customer.id) + customer.user = current_user + customer.save + #current_user.save! + render :action => "confirm" + #elsif current_user.has_payment_info? + elsif (customer = Customer.find_by_user_id(current_user.id)) and customer.has_payment_info? + #customer.with_braintree_data! + render :action => "edit" + else + 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 diff --git a/billing/app/views/customer/_subscription.html.haml b/billing/app/views/customer/_subscription.html.haml deleted file mode 100644 index a57f6e9..0000000 --- a/billing/app/views/customer/_subscription.html.haml +++ /dev/null @@ -1 +0,0 @@ -= render :partial => "subscriptions/subscription_details", :locals => {:subscription => subscription} diff --git a/billing/app/views/customer/_transaction.html.haml b/billing/app/views/customer/_transaction.html.haml deleted file mode 100644 index 53483d9..0000000 --- a/billing/app/views/customer/_transaction.html.haml +++ /dev/null @@ -1,15 +0,0 @@ -%p - = transaction.id - Type: - = transaction.type - Amount: - = number_to_currency(transaction.amount) - Status: - = transaction.status - Date - = transaction.created_at - - if sub_start = transaction.subscription_details.billing_period_start_date - From subscription which started - = sub_start - - else - Not paid as part of subscription \ No newline at end of file diff --git a/billing/app/views/customer/confirm.html.haml b/billing/app/views/customer/confirm.html.haml deleted file mode 100644 index cfe127e..0000000 --- a/billing/app/views/customer/confirm.html.haml +++ /dev/null @@ -1,12 +0,0 @@ -%h1 Payment Info Confirmation -%p Your payment information was successfully saved. -%dl - %dt First Name - %dd= @result.customer.first_name - %dt Last Name - %dd= @result.customer.last_name - %dt Phone - %dd= @result.customer.phone - %dt Credit Card - - @result.customer.credit_cards.each do |cc| - %dd= cc.masked_number \ No newline at end of file diff --git a/billing/app/views/customer/edit.html.haml b/billing/app/views/customer/edit.html.haml deleted file mode 100644 index bea3211..0000000 --- a/billing/app/views/customer/edit.html.haml +++ /dev/null @@ -1,22 +0,0 @@ -- if @result - #total-errors{:style => "color:red;"} - = h(@result.errors.size) - error(s) -= form_for :customer, :url => Braintree::TransparentRedirect.url, :params => @result && @result.params[:customer],:existing => @braintree_data, :builder => BraintreeFormHelper::BraintreeFormBuilder, :errors => @result && @result.errors.for(:customer) do |f| | - = field_set_tag "Customer" do - %dl - %dt= f.label :first_name, 'First Name' - %dd= f.text_field :first_name - %dt= f.label :last_name, 'Last Name' - %dd= f.text_field :last_name - %dt= f.label :phone, 'Phone' - %dd= f.text_field :phone - - if @default_cc - = # todo, as they will need a credit card, so not sure about conditional? - %dt Stored Credit Card - %dd - = @default_cc.masked_number - = link_to 'Change credit card', edit_credit_card_info_path(:id => @default_cc.token), :class => :btn - = hidden_field_tag :tr_data, @tr_data - = f.submit 'Save Customer Info', :class => :btn -= link_to 'Cancel', customer_path(@braintree_data.id), :class=> :btn \ No newline at end of file diff --git a/billing/app/views/customer/new.html.haml b/billing/app/views/customer/new.html.haml deleted file mode 100644 index 2ff8229..0000000 --- a/billing/app/views/customer/new.html.haml +++ /dev/null @@ -1,24 +0,0 @@ -- if @result - #total-errors{:style => "color:red;"} - = h(@result.errors.size) - error(s) -= form_for :customer, :url => Braintree::TransparentRedirect.url, :params => @result && @result.params[:customer], :builder => BraintreeFormHelper::BraintreeFormBuilder, :errors => @result && @result.errors.for(:customer) do |f| - = field_set_tag "Customer" do - %dl - %dt= f.label :first_name, 'First Name' - %dd= f.text_field :first_name - %dt= f.label :last_name, 'Last Name' - %dd= f.text_field :last_name - %dt= f.label :phone, 'Phone' - %dd= f.text_field :phone - = field_set_tag "Credit Card" do - - f.fields_for :credit_card do |cc| - %dl - %dt= cc.label :number, 'Number' - %dd= cc.text_field :number - %dt= cc.label :expiration_date, 'Exipration Date (MM/YY)' - %dd= cc.text_field :expiration_date - %dt= cc.label :cvv, 'CVV' - %dd= cc.text_field :cvv - = hidden_field_tag :tr_data, @tr_data - = f.submit 'Save Payment Info' \ No newline at end of file diff --git a/billing/app/views/customer/show.html.haml b/billing/app/views/customer/show.html.haml deleted file mode 100644 index 7416682..0000000 --- a/billing/app/views/customer/show.html.haml +++ /dev/null @@ -1,8 +0,0 @@ -= render :partial => 'payments/customer_data' -= link_to 'Make Payment', new_payment_path, :class => :btn -%h3 Transaction History -= render(:partial => "transaction", :collection => @transactions) # show subset with link to see more -- if @subscriptions.any? - %h3 Active Subscriptions - = # todo: won't really have multiple subscriptions - = render(:partial => "subscription", :collection => @subscriptions) \ No newline at end of file diff --git a/billing/app/views/customers/_subscription.html.haml b/billing/app/views/customers/_subscription.html.haml new file mode 100644 index 0000000..a57f6e9 --- /dev/null +++ b/billing/app/views/customers/_subscription.html.haml @@ -0,0 +1 @@ += render :partial => "subscriptions/subscription_details", :locals => {:subscription => subscription} diff --git a/billing/app/views/customers/_transaction.html.haml b/billing/app/views/customers/_transaction.html.haml new file mode 100644 index 0000000..53483d9 --- /dev/null +++ b/billing/app/views/customers/_transaction.html.haml @@ -0,0 +1,15 @@ +%p + = transaction.id + Type: + = transaction.type + Amount: + = number_to_currency(transaction.amount) + Status: + = transaction.status + Date + = transaction.created_at + - if sub_start = transaction.subscription_details.billing_period_start_date + From subscription which started + = sub_start + - else + Not paid as part of subscription \ No newline at end of file diff --git a/billing/app/views/customers/confirm.html.haml b/billing/app/views/customers/confirm.html.haml new file mode 100644 index 0000000..cfe127e --- /dev/null +++ b/billing/app/views/customers/confirm.html.haml @@ -0,0 +1,12 @@ +%h1 Payment Info Confirmation +%p Your payment information was successfully saved. +%dl + %dt First Name + %dd= @result.customer.first_name + %dt Last Name + %dd= @result.customer.last_name + %dt Phone + %dd= @result.customer.phone + %dt Credit Card + - @result.customer.credit_cards.each do |cc| + %dd= cc.masked_number \ No newline at end of file diff --git a/billing/app/views/customers/edit.html.haml b/billing/app/views/customers/edit.html.haml new file mode 100644 index 0000000..bea3211 --- /dev/null +++ b/billing/app/views/customers/edit.html.haml @@ -0,0 +1,22 @@ +- if @result + #total-errors{:style => "color:red;"} + = h(@result.errors.size) + error(s) += form_for :customer, :url => Braintree::TransparentRedirect.url, :params => @result && @result.params[:customer],:existing => @braintree_data, :builder => BraintreeFormHelper::BraintreeFormBuilder, :errors => @result && @result.errors.for(:customer) do |f| | + = field_set_tag "Customer" do + %dl + %dt= f.label :first_name, 'First Name' + %dd= f.text_field :first_name + %dt= f.label :last_name, 'Last Name' + %dd= f.text_field :last_name + %dt= f.label :phone, 'Phone' + %dd= f.text_field :phone + - if @default_cc + = # todo, as they will need a credit card, so not sure about conditional? + %dt Stored Credit Card + %dd + = @default_cc.masked_number + = link_to 'Change credit card', edit_credit_card_info_path(:id => @default_cc.token), :class => :btn + = hidden_field_tag :tr_data, @tr_data + = f.submit 'Save Customer Info', :class => :btn += link_to 'Cancel', customer_path(@braintree_data.id), :class=> :btn \ No newline at end of file diff --git a/billing/app/views/customers/new.html.haml b/billing/app/views/customers/new.html.haml new file mode 100644 index 0000000..2ff8229 --- /dev/null +++ b/billing/app/views/customers/new.html.haml @@ -0,0 +1,24 @@ +- if @result + #total-errors{:style => "color:red;"} + = h(@result.errors.size) + error(s) += form_for :customer, :url => Braintree::TransparentRedirect.url, :params => @result && @result.params[:customer], :builder => BraintreeFormHelper::BraintreeFormBuilder, :errors => @result && @result.errors.for(:customer) do |f| + = field_set_tag "Customer" do + %dl + %dt= f.label :first_name, 'First Name' + %dd= f.text_field :first_name + %dt= f.label :last_name, 'Last Name' + %dd= f.text_field :last_name + %dt= f.label :phone, 'Phone' + %dd= f.text_field :phone + = field_set_tag "Credit Card" do + - f.fields_for :credit_card do |cc| + %dl + %dt= cc.label :number, 'Number' + %dd= cc.text_field :number + %dt= cc.label :expiration_date, 'Exipration Date (MM/YY)' + %dd= cc.text_field :expiration_date + %dt= cc.label :cvv, 'CVV' + %dd= cc.text_field :cvv + = hidden_field_tag :tr_data, @tr_data + = f.submit 'Save Payment Info' \ No newline at end of file diff --git a/billing/app/views/customers/show.html.haml b/billing/app/views/customers/show.html.haml new file mode 100644 index 0000000..7416682 --- /dev/null +++ b/billing/app/views/customers/show.html.haml @@ -0,0 +1,8 @@ += render :partial => 'payments/customer_data' += link_to 'Make Payment', new_payment_path, :class => :btn +%h3 Transaction History += render(:partial => "transaction", :collection => @transactions) # show subset with link to see more +- if @subscriptions.any? + %h3 Active Subscriptions + = # todo: won't really have multiple subscriptions + = render(:partial => "subscription", :collection => @subscriptions) \ No newline at end of file -- cgit v1.2.3