summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjessib <jessib@leap.se>2013-04-15 12:45:50 -0700
committerAzul <azul@leap.se>2013-07-17 10:47:13 +0200
commite4ade0f1b153553dcfb993674fd8b4ecf87121e4 (patch)
tree8c24af7b396d0f89e682cf39b7ac662434cf088e
parent2829e7020abcf6d2f708fbc7dfb3db98ad174255 (diff)
Allow subscriptions to be canceled.
-rw-r--r--billing/app/controllers/subscriptions_controller.rb5
-rw-r--r--billing/app/views/subscriptions/_subscription_details.html.haml2
-rw-r--r--billing/app/views/subscriptions/destroy.html.haml5
-rw-r--r--billing/app/views/subscriptions/show.html.haml1
4 files changed, 13 insertions, 0 deletions
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