diff --git a/app/controllers/subscriptions_controller.rb b/app/controllers/subscriptions_controller.rb index 3cb8a13..521f73c 100644 --- a/app/controllers/subscriptions_controller.rb +++ b/app/controllers/subscriptions_controller.rb @@ -10,7 +10,7 @@ module DiscoursePatrons subscription = ::Stripe::Subscription.create( customer: params[:customer], items: [ - { plan: 'plan_CBXbz9i7AIOTzr' }, + { plan: params[:plan] }, ] ) diff --git a/assets/javascripts/discourse/controllers/patrons-subscribe.js.es6 b/assets/javascripts/discourse/controllers/patrons-subscribe.js.es6 index 26e0150..28fcda5 100644 --- a/assets/javascripts/discourse/controllers/patrons-subscribe.js.es6 +++ b/assets/javascripts/discourse/controllers/patrons-subscribe.js.es6 @@ -21,14 +21,27 @@ export default Ember.Controller.extend({ // var errorElement = document.getElementById('card-errors'); // errorElement.textContent = result.error.message; } else { - const data = { + const customerData = { source: result.token.id }; - return ajax("/patrons/customers", { method: "post", data }).then( - result => { - console.log(4, result, this.get('model')); - // do plan + return ajax("/patrons/customers", { method: "post", data: customerData }).then( + customer => { + // TODO move default plan into settings + if(this.get('model.selectedPlan') == undefined) { + this.set('model.selectedPlan', this.get('model.plans.firstObject')); + } + + const subscriptionData = { + customer: customer.id, + plan: this.get('model.selectedPlan') + }; + + return ajax("/patrons/subscriptions", { method: "post", data: subscriptionData }).then( + subscription => { + console.log(3, subscription); + } + ); } ); } diff --git a/assets/javascripts/discourse/routes/patrons-subscribe.js.es6 b/assets/javascripts/discourse/routes/patrons-subscribe.js.es6 index 6d0204d..1c0d1a6 100644 --- a/assets/javascripts/discourse/routes/patrons-subscribe.js.es6 +++ b/assets/javascripts/discourse/routes/patrons-subscribe.js.es6 @@ -5,7 +5,6 @@ export default Discourse.Route.extend({ model() { const group = Group.find(); const plans = Plan.find().then(results => results.map(p => p.id)); - return Ember.RSVP.hash({ group, plans }); } }); diff --git a/assets/javascripts/discourse/templates/patrons/subscribe.hbs b/assets/javascripts/discourse/templates/patrons/subscribe.hbs index 1562aed..f3ab6be 100644 --- a/assets/javascripts/discourse/templates/patrons/subscribe.hbs +++ b/assets/javascripts/discourse/templates/patrons/subscribe.hbs @@ -11,7 +11,7 @@