discourse-subscriptions/assets/javascripts/discourse/routes/admin-plugins-discourse-sub...

52 lines
1.4 KiB
JavaScript
Raw Normal View History

2019-12-12 19:54:32 -05:00
import Route from "@ember/routing/route";
import { hash } from "rsvp";
2024-01-16 11:51:44 -05:00
import Group from "discourse/models/group";
import AdminPlan from "discourse/plugins/discourse-subscriptions/discourse/models/admin-plan";
2019-10-21 00:28:45 -04:00
export default class AdminPluginsDiscourseSubscriptionsProductsShowPlansShowRoute extends Route {
2019-10-21 00:28:45 -04:00
model(params) {
2019-10-24 23:00:59 -04:00
const id = params["plan-id"];
const product = this.modelFor(
2019-12-02 02:58:14 -05:00
"adminPlugins.discourse-subscriptions.products.show"
2019-10-24 23:00:59 -04:00
).product;
2019-10-22 00:45:51 -04:00
let plan;
2019-10-24 23:00:59 -04: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 10:53:50 -04:00
product: product.get("id"),
metadata: {
group_name: null,
},
2019-10-24 23:00:59 -04:00
});
} else {
2020-09-16 10:53:50 -04:00
plan = AdminPlan.find(id).then((result) => {
result.isRecurring = result.type === "recurring";
return result;
});
2019-10-22 00:45:51 -04:00
}
2019-10-22 20:50:54 -04:00
const groups = Group.findAll({ ignore_automatic: true });
return hash({ plan, product, groups });
}
2019-10-21 00:28:45 -04:00
2019-10-22 19:36:12 -04:00
renderTemplate() {
2019-12-02 18:52:46 -05:00
this.render(
"adminPlugins.discourse-subscriptions.products.show.plans.show",
{
into: "adminPlugins.discourse-subscriptions.products",
outlet: "main",
controller:
2020-09-16 10:53:50 -04:00
"adminPlugins.discourse-subscriptions.products.show.plans.show",
2019-12-02 18:52:46 -05:00
}
);
}
}