From 16513e29ea5f5aa9f56b516b8918d13ddc3c3581 Mon Sep 17 00:00:00 2001 From: Rimian Perkins Date: Mon, 14 Oct 2019 12:36:46 +1100 Subject: [PATCH] list plans in admin --- app/controllers/admin/plans_controller.rb | 4 ++-- app/controllers/admin/subscriptions_controller.rb | 2 +- .../discourse/controllers/patrons-subscribe.js.es6 | 2 +- .../javascripts/discourse/models/admin-plan.js.es6 | 2 +- .../discourse/models/admin-subscription.js.es6 | 13 +++++++++++++ ...n-plugins-discourse-patrons-subscriptions.js.es6 | 4 ++-- .../plugins-discourse-patrons-subscriptions.hbs | 12 ++++++++++-- 7 files changed, 30 insertions(+), 9 deletions(-) create mode 100644 assets/javascripts/discourse/models/admin-subscription.js.es6 diff --git a/app/controllers/admin/plans_controller.rb b/app/controllers/admin/plans_controller.rb index 1483b74..ac1514a 100644 --- a/app/controllers/admin/plans_controller.rb +++ b/app/controllers/admin/plans_controller.rb @@ -9,7 +9,7 @@ module DiscoursePatrons def index plans = ::Stripe::Plan.list - render json: plans.data + render_json_dump plans.data end def create @@ -32,7 +32,7 @@ module DiscoursePatrons def destroy plan = ::Stripe::Plan.delete(params[:id]) - render json: plan + render_json_dump plan end private diff --git a/app/controllers/admin/subscriptions_controller.rb b/app/controllers/admin/subscriptions_controller.rb index 0ee948d..911adf7 100644 --- a/app/controllers/admin/subscriptions_controller.rb +++ b/app/controllers/admin/subscriptions_controller.rb @@ -9,7 +9,7 @@ module DiscoursePatrons def index subscriptions = ::Stripe::Subscription.list - subscriptions.to_json + render_json_dump subscriptions end end end diff --git a/assets/javascripts/discourse/controllers/patrons-subscribe.js.es6 b/assets/javascripts/discourse/controllers/patrons-subscribe.js.es6 index 28fcda5..6a46e32 100644 --- a/assets/javascripts/discourse/controllers/patrons-subscribe.js.es6 +++ b/assets/javascripts/discourse/controllers/patrons-subscribe.js.es6 @@ -28,7 +28,7 @@ export default Ember.Controller.extend({ return ajax("/patrons/customers", { method: "post", data: customerData }).then( customer => { // TODO move default plan into settings - if(this.get('model.selectedPlan') == undefined) { + if(this.get('model.selectedPlan') === undefined) { this.set('model.selectedPlan', this.get('model.plans.firstObject')); } diff --git a/assets/javascripts/discourse/models/admin-plan.js.es6 b/assets/javascripts/discourse/models/admin-plan.js.es6 index 53c4a83..889afe5 100644 --- a/assets/javascripts/discourse/models/admin-plan.js.es6 +++ b/assets/javascripts/discourse/models/admin-plan.js.es6 @@ -7,7 +7,7 @@ const AdminPlan = Discourse.Model.extend({ AdminPlan.reopenClass({ find() { return ajax("/patrons/admin/plans", { method: "get" }).then(result => - result.plans.map(plan => AdminPlan.create(plan)) + result.map(plan => AdminPlan.create(plan)) ); } }); diff --git a/assets/javascripts/discourse/models/admin-subscription.js.es6 b/assets/javascripts/discourse/models/admin-subscription.js.es6 new file mode 100644 index 0000000..bef063e --- /dev/null +++ b/assets/javascripts/discourse/models/admin-subscription.js.es6 @@ -0,0 +1,13 @@ +import { ajax } from "discourse/lib/ajax"; + +const AdminSubscription = Discourse.Model.extend({}); + +AdminSubscription.reopenClass({ + find() { + return ajax("/patrons/admin/subscriptions", { method: "get" }).then(result => + result.data.map(subscription => AdminSubscription.create(subscription)) + ); + } +}); + +export default AdminSubscription; diff --git a/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-subscriptions.js.es6 b/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-subscriptions.js.es6 index 823543f..ee7ea64 100644 --- a/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-subscriptions.js.es6 +++ b/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-subscriptions.js.es6 @@ -1,7 +1,7 @@ -import { ajax } from "discourse/lib/ajax"; +import AdminSubscription from "discourse/plugins/discourse-patrons/discourse/models/admin-subscription"; export default Discourse.Route.extend({ model() { - return ajax("/patrons/admin/subscriptions", { method: "get" }); + return AdminSubscription.find(); } }); diff --git a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-subscriptions.hbs b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-subscriptions.hbs index 8c677b9..8ca3c4e 100644 --- a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-subscriptions.hbs +++ b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-subscriptions.hbs @@ -1,13 +1,21 @@ -

{{i18n 'discourse_patrons.admin.subscriptions.title'}}

- + + + {{#each model as |subscription|}} + + + {{/each}}
{{subscription.id}} + {{#link-to 'adminPlugins.discourse-patrons.plans.show' subscription.plan.id}} + {{subscription.plan.id}} + {{/link-to}} + {{subscription.status}}