From c26ce1fc80e6a09bd1a02f469f3b1cf08303a2cf Mon Sep 17 00:00:00 2001
From: Rimian Perkins
Date: Tue, 22 Oct 2019 15:45:51 +1100
Subject: [PATCH] plans are child of product
---
...se-patrons-products-show-plans-show.js.es6 | 18 +++++++++
.../discourse-patrons-route-map.js.es6 | 1 -
...se-patrons-products-show-plans-show.js.es6 | 37 +++++++++---------
...ins-discourse-patrons-products-show.js.es6 | 2 +-
...ugins-discourse-patrons-products-index.hbs | 2 +-
...ourse-patrons-products-show-plans-show.hbs | 38 +++++++++++++++----
...lugins-discourse-patrons-products-show.hbs | 25 ++++++++----
.../stylesheets/common/discourse-patrons.scss | 7 ++++
.../stylesheets/mobile/discourse-patrons.scss | 8 ----
config/locales/client.en.yml | 22 ++++++-----
10 files changed, 107 insertions(+), 53 deletions(-)
create mode 100644 assets/javascripts/discourse/controllers/admin-plugins-discourse-patrons-products-show-plans-show.js.es6
diff --git a/assets/javascripts/discourse/controllers/admin-plugins-discourse-patrons-products-show-plans-show.js.es6 b/assets/javascripts/discourse/controllers/admin-plugins-discourse-patrons-products-show-plans-show.js.es6
new file mode 100644
index 0000000..754a85a
--- /dev/null
+++ b/assets/javascripts/discourse/controllers/admin-plugins-discourse-patrons-products-show-plans-show.js.es6
@@ -0,0 +1,18 @@
+import DiscourseURL from "discourse/lib/url";
+
+export default Ember.Controller.extend({
+ redirect(product_id) {
+ DiscourseURL.redirectTo(`/admin/plugins/discourse-patrons/products/${product_id}`);
+ },
+
+ actions: {
+ cancelPlan(product_id) {
+ this.redirect(product_id);
+ },
+
+ createPlan() {
+ const product_id = this.get('model.plan.product_id');
+ this.get('model.plan').save().then(result => this.redirect(product_id));
+ }
+ }
+});
diff --git a/assets/javascripts/discourse/discourse-patrons-route-map.js.es6 b/assets/javascripts/discourse/discourse-patrons-route-map.js.es6
index 0fa8290..921bfb5 100644
--- a/assets/javascripts/discourse/discourse-patrons-route-map.js.es6
+++ b/assets/javascripts/discourse/discourse-patrons-route-map.js.es6
@@ -15,7 +15,6 @@ export default {
this.route("products", function() {
this.route("show", { path: "/:product-id" }, function() {
- // this.route("plans");
this.route("plans", function() {
this.route("show", { path: "/:plan-id" });
});
diff --git a/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-products-show-plans-show.js.es6 b/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-products-show-plans-show.js.es6
index d462526..7cd6fce 100644
--- a/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-products-show-plans-show.js.es6
+++ b/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-products-show-plans-show.js.es6
@@ -2,23 +2,26 @@ import AdminPlan from "discourse/plugins/discourse-patrons/discourse/models/admi
import AdminProduct from "discourse/plugins/discourse-patrons/discourse/models/admin-product";
export default Discourse.Route.extend({
- templateName: 'admin-plugins-discourse-patrons-plans-show',
-
model(params) {
- console.log('product plans', params);
+ const id = params['plan-id'];
+ const product = this.modelFor('adminPlugins.discourse-patrons.products.show').product;
+ let plan;
- // const id = params['plan-id'];
- // let plan;
- //
- // if(id === 'new') {
- // plan = AdminPlan.create();
- // }
- // else {
- // plan = AdminPlan.find(id);
- // }
- //
- // const products = AdminProduct.findAll();
- //
- // return Ember.RSVP.hash({ plan, products });
- }
+ if(id === 'new') {
+ plan = AdminPlan.create({ product_id: product.get('id') });
+ }
+ else {
+ plan = AdminPlan.find(id);
+ }
+
+ return Ember.RSVP.hash({ plan, product });
+ },
+
+ renderTemplate(controller, model) {
+ this.render('adminPlugins.discourse-patrons.products.show.plans.show', {
+ into: 'adminPlugins.discourse-patrons.products',
+ outlet: 'main',
+ controller: 'adminPlugins.discourse-patrons.products.show.plans.show',
+ });
+ },
});
diff --git a/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-products-show.js.es6 b/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-products-show.js.es6
index 55b13c1..1dc88c1 100644
--- a/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-products-show.js.es6
+++ b/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-products-show.js.es6
@@ -21,5 +21,5 @@ export default Discourse.Route.extend({
const groups = Group.findAll({ ignore_automatic: true });
return Ember.RSVP.hash({ plans, product, groups });
- }
+ },
});
diff --git a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-index.hbs b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-index.hbs
index 4a7abbc..4393746 100644
--- a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-index.hbs
+++ b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-index.hbs
@@ -3,7 +3,7 @@
{{i18n 'discourse_patrons.admin.products.product.product_id'}} |
{{i18n 'discourse_patrons.admin.products.product.name'}} |
- {{i18n 'discourse_patrons.admin.products.product.group.title'}} |
+ {{i18n 'discourse_patrons.admin.products.product.group'}} |
{{i18n 'discourse_patrons.admin.products.product.active'}} |
|
diff --git a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-show-plans-show.hbs b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-show-plans-show.hbs
index cb14999..42eb525 100644
--- a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-show-plans-show.hbs
+++ b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-show-plans-show.hbs
@@ -3,10 +3,14 @@
@@ -14,15 +18,33 @@
{{input type="text" name="name" value=model.plan.amount}}
-
- {{combo-box valueAttribute="id" content=model.products value=model.plan.product_id}}
+
+ {{input type="text" name="trial" value=model.plan.trial}}
+
+ {{i18n 'discourse_patrons.admin.plans.plan.trial_help'}}
+
-
+
{{combo-box valueAttribute="value" content=model.plan.intervals value=model.plan.interval}}
-
- {{d-button label="discourse_patrons.admin.plans.operations.create" action="createPlan" icon="plus"}}
-
+
+
+
+
+ {{i18n 'discourse_patrons.admin.plans.operations.create_help'}}
+
+
+
+ {{d-button label="cancel" action=(action "cancelPlan" model.plan.product_id) icon="times"}}
+ {{d-button label="discourse_patrons.admin.plans.operations.create" action="createPlan" icon="plus" class="btn btn-primary"}}
+
+
+
diff --git a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-show.hbs b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-show.hbs
index f968f26..198c353 100644
--- a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-show.hbs
+++ b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-products-show.hbs
@@ -1,4 +1,3 @@
-
{{i18n 'discourse_patrons.admin.products.title'}}