diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 8f3db55..c798c5c 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -12,9 +12,17 @@ module DiscoursePatrons def payments_order if %w(created_at amount).include?(params[:order]) - params[:order].to_sym + { params[:order] => ascending } else - :created_at + { created_at: :asc } + end + end + + def ascending + if params[:ascending] == 'false' + :desc + else + :asc end end end diff --git a/app/controllers/patrons_controller.rb b/app/controllers/patrons_controller.rb index b31d649..b5f16f9 100644 --- a/app/controllers/patrons_controller.rb +++ b/app/controllers/patrons_controller.rb @@ -38,7 +38,7 @@ module DiscoursePatrons description: SiteSetting.discourse_patrons_payment_description, receipt_email: params[:receipt_email], confirm: true, - customer: user_id + metadata: { user_id: user_id } ) Payment.create( diff --git a/assets/javascripts/discourse/controllers/admin-plugins-discourse-patrons.js.es6 b/assets/javascripts/discourse/controllers/admin-plugins-discourse-patrons.js.es6 index 2d1ddde..e15a169 100644 --- a/assets/javascripts/discourse/controllers/admin-plugins-discourse-patrons.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-plugins-discourse-patrons.js.es6 @@ -1,11 +1,16 @@ export default Ember.Controller.extend({ - queryParams: ["order"], + queryParams: ["order", "ascending"], order: null, + ascending: true, actions: { loadMore() {}, orderPayments(order) { + if (order === this.get("order")) { + this.toggleProperty("ascending"); + } + this.set("order", order); } } diff --git a/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons.js.es6 b/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons.js.es6 index 257b954..0b1b1f3 100644 --- a/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons.js.es6 +++ b/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons.js.es6 @@ -4,13 +4,19 @@ export default Discourse.Route.extend({ queryParams: { order: { refreshModel: true + }, + ascending: { + refreshModel: true } }, model(params) { return ajax("/patrons/admin", { method: "get", - data: { order: params.order } + data: { + order: params.order, + ascending: params.ascending + } }).then(results => results); } }); diff --git a/assets/javascripts/discourse/templates/patrons/show.hbs b/assets/javascripts/discourse/templates/patrons/show.hbs index 21e881c..96632be 100644 --- a/assets/javascripts/discourse/templates/patrons/show.hbs +++ b/assets/javascripts/discourse/templates/patrons/show.hbs @@ -1,12 +1,11 @@ +{{#unless model.error}} +
+ {{cook-text siteSettings.discourse_patrons_success_page}} +
-- {{cook-text siteSettings.discourse_patrons_success_page}} -
- -{{#if model}}| {{i18n 'discourse_patrons.payment_intent_id'}} | @@ -17,4 +16,4 @@{{model.amount}} |