name space the js admin
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# Discourse Patrons
|
||||
# Discourse Subscriptions
|
||||
|
||||
[](https://travis-ci.org/rimian/discourse-patrons)
|
||||
[](https://travis-ci.org/rimian/discourse-subscriptions)
|
||||
|
||||
The Discourse Patrons plugin allows you to set up a subscription based Discourse application. By integrating with the [Stripe](https://stripe.com) payment gateway and setting up this plugin to manage Subscriptions, you can start selling users access to content on your website.
|
||||
The Discourse Subscriptions plugin allows you to set up a subscription based Discourse application. By integrating with the [Stripe](https://stripe.com) payment gateway and setting up this plugin to manage Subscriptions, you can start selling users access to content on your website.
|
||||
|
||||
You can try it out here: https://discourse.rimian.com.au/patrons/subscribe
|
||||
|
||||
@@ -50,7 +50,7 @@ You can also toggle the Subscribe button on and off in case you want to hide the
|
||||
|
||||
In the admin, add a new Product. Once you have a product saved, you can add plans to it. Keep in mind that the pricing and billing intervals of plans cannot be changed once you create them. This is to avoid confusion around subscription management.
|
||||
|
||||
If you take a look at your [Stripe Dashboard](https://dashboard.stripe.com), you'll see all those products and plans are listed. Discourse Patrons does not create them locally. They are created in Stripe.
|
||||
If you take a look at your [Stripe Dashboard](https://dashboard.stripe.com), you'll see all those products and plans are listed. Discourse Patrons does not create them locally. They are created in Stripe.
|
||||
|
||||
## Testing
|
||||
|
||||
@@ -58,7 +58,7 @@ Test with these credit card numbers:
|
||||
|
||||
* 4111 1111 1111 1111
|
||||
|
||||
Visit `/patrons/subscribe` and enter a few test transcations.
|
||||
Visit `/patrons/subscribe` and enter a few test transcations.
|
||||
|
||||
## Warranty
|
||||
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ export default Ember.Controller.extend({
|
||||
actions: {
|
||||
editPlan(id) {
|
||||
return DiscourseURL.redirectTo(
|
||||
`/admin/plugins/discourse-patrons/plans/${id}`
|
||||
`/admin/plugins/discourse-subscriptions/plans/${id}`
|
||||
);
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -11,7 +11,7 @@ export default Ember.Controller.extend({
|
||||
this.get("model.plan")
|
||||
.save()
|
||||
.then(() => {
|
||||
this.transitionToRoute("adminPlugins.discourse-patrons.plans");
|
||||
this.transitionToRoute("adminPlugins.discourse-subscriptions.plans");
|
||||
})
|
||||
.catch(popupAjaxError);
|
||||
}
|
||||
+1
-1
@@ -17,7 +17,7 @@ export default Ember.Controller.extend({
|
||||
|
||||
redirect(product_id) {
|
||||
DiscourseURL.redirectTo(
|
||||
`/admin/plugins/discourse-patrons/products/${product_id}`
|
||||
`/admin/plugins/discourse-subscriptions/products/${product_id}`
|
||||
);
|
||||
},
|
||||
|
||||
+3
-3
@@ -3,7 +3,7 @@ import { popupAjaxError } from "discourse/lib/ajax-error";
|
||||
export default Ember.Controller.extend({
|
||||
actions: {
|
||||
cancelProduct() {
|
||||
this.transitionToRoute("adminPlugins.discourse-patrons.products");
|
||||
this.transitionToRoute("adminPlugins.discourse-subscriptions.products");
|
||||
},
|
||||
|
||||
createProduct() {
|
||||
@@ -11,7 +11,7 @@ export default Ember.Controller.extend({
|
||||
.save()
|
||||
.then(product => {
|
||||
this.transitionToRoute(
|
||||
"adminPlugins.discourse-patrons.products.show",
|
||||
"adminPlugins.discourse-subscriptions.products.show",
|
||||
product.id
|
||||
);
|
||||
})
|
||||
@@ -22,7 +22,7 @@ export default Ember.Controller.extend({
|
||||
this.get("model.product")
|
||||
.update()
|
||||
.then(() => {
|
||||
this.transitionToRoute("adminPlugins.discourse-patrons.products");
|
||||
this.transitionToRoute("adminPlugins.discourse-subscriptions.products");
|
||||
})
|
||||
.catch(popupAjaxError);
|
||||
}
|
||||
+1
-1
@@ -3,7 +3,7 @@ export default {
|
||||
path: "/plugins",
|
||||
|
||||
map() {
|
||||
this.route("discourse-patrons", function() {
|
||||
this.route("discourse-subscriptions", function() {
|
||||
this.route("dashboard");
|
||||
|
||||
this.route("products", function() {
|
||||
@@ -1,4 +1,4 @@
|
||||
import Plan from "discourse/plugins/discourse-patrons/discourse/models/plan";
|
||||
import Plan from "discourse/plugins/discourse-subscriptions/discourse/models/plan";
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
import { ajax } from "discourse/lib/ajax";
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import computed from "ember-addons/ember-computed-decorators";
|
||||
import { ajax } from "discourse/lib/ajax";
|
||||
import Plan from "discourse/plugins/discourse-patrons/discourse/models/plan";
|
||||
import Plan from "discourse/plugins/discourse-subscriptions/discourse/models/plan";
|
||||
|
||||
const UserSubscription = Discourse.Model.extend({
|
||||
@computed("status")
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
import AdminPlan from "discourse/plugins/discourse-patrons/discourse/models/admin-plan";
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model() {
|
||||
return AdminPlan.findAll();
|
||||
}
|
||||
});
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
import AdminPlan from "discourse/plugins/discourse-subscriptions/discourse/models/admin-plan";
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model() {
|
||||
return AdminPlan.findAll();
|
||||
}
|
||||
});
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
import AdminProduct from "discourse/plugins/discourse-patrons/discourse/models/admin-product";
|
||||
import AdminProduct from "discourse/plugins/discourse-subscriptions/discourse/models/admin-product";
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model() {
|
||||
@@ -16,7 +16,7 @@ export default Discourse.Route.extend({
|
||||
product
|
||||
.destroy()
|
||||
.then(() => {
|
||||
this.controllerFor("adminPluginsDiscoursePatronsProductsIndex")
|
||||
this.controllerFor("adminPluginsDiscourseSubscriptionsProductsIndex")
|
||||
.get("model")
|
||||
.removeObject(product);
|
||||
})
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
import AdminPlan from "discourse/plugins/discourse-patrons/discourse/models/admin-plan";
|
||||
import AdminPlan from "discourse/plugins/discourse-subscriptions/discourse/models/admin-plan";
|
||||
import Group from "discourse/models/group";
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model(params) {
|
||||
const id = params["plan-id"];
|
||||
const product = this.modelFor(
|
||||
"adminPlugins.discourse-patrons.products.show"
|
||||
"adminPlugins.discourse-subscriptions.products.show"
|
||||
).product;
|
||||
let plan;
|
||||
|
||||
@@ -26,10 +26,10 @@ export default Discourse.Route.extend({
|
||||
},
|
||||
|
||||
renderTemplate() {
|
||||
this.render("adminPlugins.discourse-patrons.products.show.plans.show", {
|
||||
into: "adminPlugins.discourse-patrons.products",
|
||||
this.render("adminPlugins.discourse-subscriptions.products.show.plans.show", {
|
||||
into: "adminPlugins.discourse-subscriptions.products",
|
||||
outlet: "main",
|
||||
controller: "adminPlugins.discourse-patrons.products.show.plans.show"
|
||||
controller: "adminPlugins.discourse-subscriptions.products.show.plans.show"
|
||||
});
|
||||
}
|
||||
});
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
import AdminProduct from "discourse/plugins/discourse-patrons/discourse/models/admin-product";
|
||||
import AdminPlan from "discourse/plugins/discourse-patrons/discourse/models/admin-plan";
|
||||
import AdminProduct from "discourse/plugins/discourse-subscriptions/discourse/models/admin-product";
|
||||
import AdminPlan from "discourse/plugins/discourse-subscriptions/discourse/models/admin-plan";
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model(params) {
|
||||
@@ -28,7 +28,7 @@ export default Discourse.Route.extend({
|
||||
plan
|
||||
.destroy()
|
||||
.then(() => {
|
||||
this.controllerFor("adminPluginsDiscoursePatronsProductsShow")
|
||||
this.controllerFor("adminPluginsDiscourseSubscriptionsProductsShow")
|
||||
.get("model.plans")
|
||||
.removeObject(plan);
|
||||
})
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import AdminSubscription from "discourse/plugins/discourse-patrons/discourse/models/admin-subscription";
|
||||
import AdminSubscription from "discourse/plugins/discourse-subscriptions/discourse/models/admin-subscription";
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model() {
|
||||
@@ -1,6 +1,6 @@
|
||||
import Product from "discourse/plugins/discourse-patrons/discourse/models/product";
|
||||
import Plan from "discourse/plugins/discourse-patrons/discourse/models/plan";
|
||||
import Subscription from "discourse/plugins/discourse-patrons/discourse/models/subscription";
|
||||
import Product from "discourse/plugins/discourse-subscriptions/discourse/models/product";
|
||||
import Plan from "discourse/plugins/discourse-subscriptions/discourse/models/plan";
|
||||
import Subscription from "discourse/plugins/discourse-subscriptions/discourse/models/subscription";
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model(params) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Product from "discourse/plugins/discourse-patrons/discourse/models/product";
|
||||
import Product from "discourse/plugins/discourse-subscriptions/discourse/models/product";
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import Invoice from "discourse/plugins/discourse-patrons/discourse/models/invoice";
|
||||
import Invoice from "discourse/plugins/discourse-subscriptions/discourse/models/invoice";
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model() {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import UserSubscription from "discourse/plugins/discourse-patrons/discourse/models/user-subscription";
|
||||
import UserSubscription from "discourse/plugins/discourse-subscriptions/discourse/models/user-subscription";
|
||||
|
||||
export default Discourse.Route.extend({
|
||||
model() {
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
|
||||
<h2>{{i18n 'discourse_patrons.title' site_name=siteSettings.title}}</h2>
|
||||
|
||||
<ul class="nav nav-pills">
|
||||
{{!-- {{nav-item route='adminPlugins.discourse-patrons.dashboard' label='discourse_patrons.admin.dashboard.title'}} --}}
|
||||
{{nav-item route='adminPlugins.discourse-patrons.products' label='discourse_patrons.admin.products.title'}}
|
||||
{{nav-item route='adminPlugins.discourse-patrons.subscriptions' label='discourse_patrons.admin.subscriptions.title'}}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<div id="discourse-patrons-admin">
|
||||
{{outlet}}
|
||||
</div>
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
|
||||
<p class="btn-right">
|
||||
{{#link-to 'adminPlugins.discourse-patrons.products.show' 'new' class="btn btn-primary"}}
|
||||
{{#link-to 'adminPlugins.discourse-subscriptions.products.show' 'new' class="btn btn-primary"}}
|
||||
{{d-icon "plus"}}
|
||||
<span>{{i18n 'discourse_patrons.admin.products.operations.new'}}</span>
|
||||
{{/link-to}}
|
||||
@@ -22,7 +22,7 @@
|
||||
<td>{{format-unix-date product.updated}}</td>
|
||||
<td class="td-right">{{product.active}}</td>
|
||||
<td class="td-right">
|
||||
{{#link-to "adminPlugins.discourse-patrons.products.show" product.id class="btn no-text btn-icon"}}
|
||||
{{#link-to "adminPlugins.discourse-subscriptions.products.show" product.id class="btn no-text btn-icon"}}
|
||||
{{d-icon "far-edit"}}
|
||||
{{/link-to}}
|
||||
{{d-button
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user