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}}