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}}
- {{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'}} |
{{#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 @@
Amount |
- {{#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 @@
-
{{#link-to 'adminPlugins.discourse-patrons'}}
- Payments
+ {{i18n 'discourse_patrons.admin.dashboard.title'}}
{{/link-to}}
-
{{#link-to 'adminPlugins.discourse-patrons.plans'}}
- Plans
+ {{i18n 'discourse_patrons.admin.plans.title'}}
{{/link-to}}
-
{{#link-to 'adminPlugins.discourse-patrons.subscriptions'}}
- Subscriptions
+ {{i18n 'discourse_patrons.admin.subscriptions.title'}}
{{/link-to}}
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