diff --git a/app/controllers/admin/plans_controller.rb b/app/controllers/admin/plans_controller.rb new file mode 100644 index 0000000..f6c479a --- /dev/null +++ b/app/controllers/admin/plans_controller.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module DiscoursePatrons + class PlansController < ::Admin::AdminController + def index + head 204 + end + + def show + head 204 + end + end +end diff --git a/app/controllers/admin/subscriptions_controller.rb b/app/controllers/admin/subscriptions_controller.rb index b8a40ba..4b19b4b 100644 --- a/app/controllers/admin/subscriptions_controller.rb +++ b/app/controllers/admin/subscriptions_controller.rb @@ -3,7 +3,11 @@ module DiscoursePatrons class SubscriptionsController < ::Admin::AdminController def index - head 200 + ::Stripe.api_key = SiteSetting.discourse_patrons_secret_key + + subscriptions = ::Stripe::Subscription.list + + subscriptions.to_json end end end diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 0025b5f..2c1c46a 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -8,10 +8,6 @@ module DiscoursePatrons render_serialized(payments, PaymentSerializer) end - def subscriptions - head 200 - end - private def payments_order diff --git a/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-plans-show.js.es6 b/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-plans-show.js.es6 new file mode 100644 index 0000000..55af882 --- /dev/null +++ b/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-plans-show.js.es6 @@ -0,0 +1 @@ +export default Discourse.Route.extend({}); diff --git a/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-plans.js.es6 b/assets/javascripts/discourse/routes/admin-plugins-discourse-patrons-plans.js.es6 new file mode 100644 index 0000000..e69de29 diff --git a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-index.hbs b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-index.hbs index 2e7dd22..cda4b3b 100644 --- a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-index.hbs +++ b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-index.hbs @@ -1,15 +1,16 @@ -

Payments

+ +

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

{{#load-more selector=".discourse-patrons-admin tr" action=(action "loadMore")}} {{#if model}} - - - + + + - + {{#each model as |payment|}} diff --git a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-plans.hbs b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-plans.hbs index 97faab3..6f9fdbb 100644 --- a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-plans.hbs +++ b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-plans.hbs @@ -1,8 +1,7 @@ -

Plans.

+

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

{{#link-to 'adminPlugins.discourse-patrons.plans.show' 'new' class="btn btn-primary"}} - New + {{d-icon "plus"}} + {{i18n 'discourse_patrons.admin.plans.new'}} {{/link-to}} - -{{outlet}} 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 8092c04..3a1afde 100644 --- a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-subscriptions.hbs +++ b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons-subscriptions.hbs @@ -10,7 +10,7 @@ - {{#each model as |payment|}} + {{#each model as |plan|}} diff --git a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons.hbs b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons.hbs index 9ac962a..463ac54 100644 --- a/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons.hbs +++ b/assets/javascripts/discourse/templates/admin/plugins-discourse-patrons.hbs @@ -4,17 +4,17 @@ diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index f1b9314..5674dd9 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -38,10 +38,19 @@ en: confirm_payment: Confirm payment success: Go back admin: - payment_history: + dashboard: + title: Dashboard table: head: user: User payment_intent: Payment ID receipt_email: Receipt Email amount: Amount + plans: + title: Plans + new: New + table: + head: + plan: Plan + subscriptions: + title: Subscriptions diff --git a/config/routes.rb b/config/routes.rb index 0fd00ac..bb414b4 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -3,6 +3,7 @@ DiscoursePatrons::Engine.routes.draw do get '/admin' => 'admin#index' get '/admin/subscriptions' => 'subscriptions#index' + get '/admin/plans/:plan_id' => 'plans#show' get '/' => 'patrons#index' get '/:pid' => 'patrons#show' resources :patrons, only: [:index, :create] diff --git a/plugin.rb b/plugin.rb index 89686a1..54fa5df 100644 --- a/plugin.rb +++ b/plugin.rb @@ -38,6 +38,7 @@ after_initialize do "../lib/discourse_patrons/engine", "../config/routes", "../app/controllers/admin_controller", + "../app/controllers/admin/plans_controller", "../app/controllers/admin/subscriptions_controller", "../app/controllers/patrons_controller", "../app/models/payment", diff --git a/spec/requests/plans_controller_spec.rb b/spec/requests/plans_controller_spec.rb new file mode 100644 index 0000000..e69de29 diff --git a/spec/requests/subscriptions_controller_spec.rb b/spec/requests/subscriptions_controller_spec.rb index be0dea8..ee20515 100644 --- a/spec/requests/subscriptions_controller_spec.rb +++ b/spec/requests/subscriptions_controller_spec.rb @@ -13,9 +13,10 @@ module DiscoursePatrons expect(DiscoursePatrons::SubscriptionsController < Admin::AdminController).to eq(true) end - it "is ok" do + it "gets the empty subscriptions" do + ::Stripe::Subscription.expects(:list) get "/patrons/admin/subscriptions.json" - expect(response.status).to eq(200) + expect(response.status).to eq(204) end end end
{{i18n 'discourse_patrons.admin.payment_history.table.head.user'}}{{i18n 'discourse_patrons.admin.payment_history.table.head.payment_intent'}}{{i18n 'discourse_patrons.admin.payment_history.table.head.receipt_email'}}{{i18n 'discourse_patrons.admin.dashboard.table.head.user'}}{{i18n 'discourse_patrons.admin.dashboard.table.head.payment_intent'}}{{i18n 'discourse_patrons.admin.dashboard.table.head.receipt_email'}} {{i18n 'created'}}{{i18n 'discourse_patrons.admin.payment_history.table.head.amount'}}{{i18n 'discourse_patrons.admin.dashboard.table.head.amount'}}
Amount