From e4ade0f1b153553dcfb993674fd8b4ecf87121e4 Mon Sep 17 00:00:00 2001 From: jessib Date: Mon, 15 Apr 2013 12:45:50 -0700 Subject: Allow subscriptions to be canceled. --- billing/app/controllers/subscriptions_controller.rb | 5 +++++ billing/app/views/subscriptions/_subscription_details.html.haml | 2 ++ billing/app/views/subscriptions/destroy.html.haml | 5 +++++ billing/app/views/subscriptions/show.html.haml | 1 + 4 files changed, 13 insertions(+) create mode 100644 billing/app/views/subscriptions/destroy.html.haml (limited to 'billing') diff --git a/billing/app/controllers/subscriptions_controller.rb b/billing/app/controllers/subscriptions_controller.rb index af20faf..9633830 100644 --- a/billing/app/controllers/subscriptions_controller.rb +++ b/billing/app/controllers/subscriptions_controller.rb @@ -23,4 +23,9 @@ class SubscriptionsController < ApplicationController @result = Braintree::Subscription.create( :payment_method_token => params[:payment_method_token], :plan_id => params[:plan_id] ) end + def destroy + # TODO add permission check + @result = Braintree::Subscription.cancel params[:id] + end + end diff --git a/billing/app/views/subscriptions/_subscription_details.html.haml b/billing/app/views/subscriptions/_subscription_details.html.haml index f2a0410..db07204 100644 --- a/billing/app/views/subscriptions/_subscription_details.html.haml +++ b/billing/app/views/subscriptions/_subscription_details.html.haml @@ -10,4 +10,6 @@ = subscription.paid_through_date Price = subscription.price + Status + = subscription.status - # would be good to get plan name but not sure if that is possible? \ No newline at end of file diff --git a/billing/app/views/subscriptions/destroy.html.haml b/billing/app/views/subscriptions/destroy.html.haml new file mode 100644 index 0000000..f888e6d --- /dev/null +++ b/billing/app/views/subscriptions/destroy.html.haml @@ -0,0 +1,5 @@ +- if @result.success? + Subscription destroyed +- else + Error: + = @result.message \ No newline at end of file diff --git a/billing/app/views/subscriptions/show.html.haml b/billing/app/views/subscriptions/show.html.haml index 4ee015c..bc85fd9 100644 --- a/billing/app/views/subscriptions/show.html.haml +++ b/billing/app/views/subscriptions/show.html.haml @@ -1 +1,2 @@ = render :partial => "subscription_details", :locals => {:subscription => @subscription} += link_to t(:Cancel), subscription_path, :confirm => 'Are you sure?', :method => :delete, :class => 'btn btn-danger' if @subscription.status == 'Active' # permission check or should that just be on show? \ No newline at end of file -- cgit v1.2.3