discourse-subscriptions/assets/javascripts/discourse/routes/admin-plugins-discourse-subscriptions-products-show-plans-show.js.es6

52 lines
1.3 KiB
Plaintext
Raw Normal View History

2019-12-13 11:54:32 +11:00
import Route from "@ember/routing/route";
2019-12-02 18:58:14 +11:00
import AdminPlan from "discourse/plugins/discourse-subscriptions/discourse/models/admin-plan";
2019-10-23 11:50:54 +11:00
import Group from "discourse/models/group";
import { hash } from "rsvp";
2019-10-21 15:28:45 +11:00
2019-12-13 11:54:32 +11:00
export default Route.extend({
2019-10-21 15:28:45 +11:00
model(params) {
2019-10-25 14:00:59 +11:00
const id = params["plan-id"];
const product = this.modelFor(
2019-12-02 18:58:14 +11:00
"adminPlugins.discourse-subscriptions.products.show"
2019-10-25 14:00:59 +11:00
).product;
2019-10-22 15:45:51 +11:00
let plan;
2019-10-25 14:00:59 +11:00
if (id === "new") {
plan = AdminPlan.create({
active: true,
isNew: true,
interval: "month",
type: "recurring",
isRecurring: true,
currency: this.siteSettings.discourse_subscriptions_currency,
2020-09-16 09:53:50 -05:00
product: product.get("id"),
metadata: {
group_name: null,
},
2019-10-25 14:00:59 +11:00
});
} else {
2020-09-16 09:53:50 -05:00
plan = AdminPlan.find(id).then((result) => {
result.isRecurring = result.type === "recurring";
return result;
});
2019-10-22 15:45:51 +11:00
}
2019-10-23 11:50:54 +11:00
const groups = Group.findAll({ ignore_automatic: true });
return hash({ plan, product, groups });
2019-10-22 15:45:51 +11:00
},
2019-10-21 15:28:45 +11:00
2019-10-23 10:36:12 +11:00
renderTemplate() {
2019-12-03 10:52:46 +11:00
this.render(
"adminPlugins.discourse-subscriptions.products.show.plans.show",
{
into: "adminPlugins.discourse-subscriptions.products",
outlet: "main",
controller:
2020-09-16 09:53:50 -05:00
"adminPlugins.discourse-subscriptions.products.show.plans.show",
2019-12-03 10:52:46 +11:00
}
);
2020-09-16 09:53:50 -05:00
},
2019-10-21 15:28:45 +11:00
});