From e5753095d8444273d1f37dd5ea82ea49fd7a3061 Mon Sep 17 00:00:00 2001 From: Rimian Perkins Date: Thu, 28 Nov 2019 20:11:48 +1100 Subject: [PATCH] cannot subscribe to a product twice --- .../routes/patrons-subscribe-show.js.es6 | 1 + .../templates/components/product-list.hbs | 2 +- .../templates/patrons/subscribe/show.hbs | 34 +++++++++++-------- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/assets/javascripts/discourse/routes/patrons-subscribe-show.js.es6 b/assets/javascripts/discourse/routes/patrons-subscribe-show.js.es6 index 93981f6..7c51e8b 100644 --- a/assets/javascripts/discourse/routes/patrons-subscribe-show.js.es6 +++ b/assets/javascripts/discourse/routes/patrons-subscribe-show.js.es6 @@ -6,6 +6,7 @@ export default Discourse.Route.extend({ model(params) { const product_id = params["subscription-id"]; const product = Product.find(product_id); + const subscription = Subscription.create(); const plans = Plan.findAll({ product_id: product_id }).then(results => results.map(p => ({ id: p.id, name: p.subscriptionRate })) diff --git a/assets/javascripts/discourse/templates/components/product-list.hbs b/assets/javascripts/discourse/templates/components/product-list.hbs index 7d8b465..b3a1b1c 100644 --- a/assets/javascripts/discourse/templates/components/product-list.hbs +++ b/assets/javascripts/discourse/templates/components/product-list.hbs @@ -9,7 +9,7 @@ {{#if currentUser}}
- {{#link-to "patrons.subscribe.show" product.id class="btn btn-primary"}} + {{#link-to "patrons.subscribe.show" product.id disabled=product.subscribed class="btn btn-primary"}} {{i18n 'discourse_patrons.subscribe.title'}} {{/link-to}}
diff --git a/assets/javascripts/discourse/templates/patrons/subscribe/show.hbs b/assets/javascripts/discourse/templates/patrons/subscribe/show.hbs index c95f58c..f9aa99c 100644 --- a/assets/javascripts/discourse/templates/patrons/subscribe/show.hbs +++ b/assets/javascripts/discourse/templates/patrons/subscribe/show.hbs @@ -9,25 +9,29 @@

- {{combo-box valueAttribute="id" content=model.plans value=model.product.plan}} + {{#unless model.product.subscribed}} - {{#d-button - disabled=loading - action="stripePaymentHandler" - class="btn btn-primary btn-payment btn-discourse-patrons"}} - {{i18n 'discourse_patrons.subscribe.buttons.subscribe'}} - {{/d-button}} + {{combo-box valueAttribute="id" content=model.plans value=model.product.plan}} -
+ {{#d-button + disabled=loading + action="stripePaymentHandler" + class="btn btn-primary btn-payment btn-discourse-patrons"}} + {{i18n 'discourse_patrons.subscribe.buttons.subscribe'}} + {{/d-button}} -

- {{i18n 'discourse_patrons.subscribe.card.title'}} -

+
- {{subscribe-card cardElement=cardElement}} +

+ {{i18n 'discourse_patrons.subscribe.card.title'}} +

- {{#if loading}} - {{loading-spinner}} - {{/if}} + {{subscribe-card cardElement=cardElement}} + + {{#if loading}} + {{loading-spinner}} + {{/if}} + + {{/unless}}