REFACTOR: Use models to store data (#11)
* REFACTOR: Use api to add subscribe link * FIX: I18n subscribe link * REFACTOR: Use models to store some data This enables the plugin to show only subscription information which was generated on Discourse. Subscription data storage is limited to the external identifiers Stripe generates so we can interact with the API. * DEV: Test/linting fixes/rake task
This commit is contained in:
@@ -2,6 +2,7 @@ import Customer from "discourse/plugins/discourse-subscriptions/discourse/models
|
||||
import Payment from "discourse/plugins/discourse-subscriptions/discourse/models/payment";
|
||||
import Subscription from "discourse/plugins/discourse-subscriptions/discourse/models/subscription";
|
||||
import computed from "discourse-common/utils/decorators";
|
||||
import I18n from "I18n";
|
||||
|
||||
export default Ember.Controller.extend({
|
||||
planTypeIsSelected: true,
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
import { registerUnbound } from "discourse-common/lib/helpers";
|
||||
|
||||
export default registerUnbound("show-extra-nav", function() {
|
||||
return Discourse.SiteSettings.discourse_subscriptions_extra_nav_subscribe;
|
||||
});
|
||||
@@ -0,0 +1,20 @@
|
||||
import { withPluginApi } from "discourse/lib/plugin-api";
|
||||
import I18n from "I18n";
|
||||
|
||||
export default {
|
||||
name: "setup-subscriptions",
|
||||
initialize(container) {
|
||||
withPluginApi("0.8.11", api => {
|
||||
const siteSettings = container.lookup("site-settings:main");
|
||||
const isNavLinkEnabled =
|
||||
siteSettings.discourse_subscriptions_extra_nav_subscribe;
|
||||
if (isNavLinkEnabled) {
|
||||
api.addNavigationBarItem({
|
||||
name: "subscribe",
|
||||
displayName: I18n.t("discourse_subscriptions.navigation.subscribe"),
|
||||
href: "/s"
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -32,7 +32,7 @@ AdminSubscription.reopenClass({
|
||||
return ajax("/s/admin/subscriptions", {
|
||||
method: "get"
|
||||
}).then(result =>
|
||||
result.data.map(subscription => AdminSubscription.create(subscription))
|
||||
result.map(subscription => AdminSubscription.create(subscription))
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
import Route from "@ember/routing/route";
|
||||
import AdminProduct from "discourse/plugins/discourse-subscriptions/discourse/models/admin-product";
|
||||
import I18n from "I18n";
|
||||
|
||||
export default Route.extend({
|
||||
model() {
|
||||
|
||||
+1
@@ -1,6 +1,7 @@
|
||||
import Route from "@ember/routing/route";
|
||||
import AdminProduct from "discourse/plugins/discourse-subscriptions/discourse/models/admin-product";
|
||||
import AdminPlan from "discourse/plugins/discourse-subscriptions/discourse/models/admin-plan";
|
||||
import I18n from "I18n";
|
||||
|
||||
export default Route.extend({
|
||||
model(params) {
|
||||
|
||||
+1
@@ -1,5 +1,6 @@
|
||||
import Route from "@ember/routing/route";
|
||||
import AdminSubscription from "discourse/plugins/discourse-subscriptions/discourse/models/admin-subscription";
|
||||
import I18n from "I18n";
|
||||
|
||||
export default Route.extend({
|
||||
model() {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import Route from "@ember/routing/route";
|
||||
import UserSubscription from "discourse/plugins/discourse-subscriptions/discourse/models/user-subscription";
|
||||
import I18n from "I18n";
|
||||
|
||||
export default Route.extend({
|
||||
templateName: "user/billing/subscriptions",
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
{{#if (show-extra-nav)}}
|
||||
{{#link-to 's' class='discourse-patrons-subscribe'}}
|
||||
{{i18n 'discourse_subscriptions.navigation.subscribe'}}
|
||||
{{/link-to}}
|
||||
{{/if}}
|
||||
Reference in New Issue
Block a user