import AdminProduct from "discourse/plugins/discourse-patrons/discourse/models/admin-product"; import AdminPlan from "discourse/plugins/discourse-patrons/discourse/models/admin-plan"; export default Discourse.Route.extend({ model(params) { const product_id = params['product-id']; let product; let plans = []; if(product_id === 'new') { product = AdminProduct.create({ active: true, isNew: true }); } else { product = AdminProduct.find(product_id); plans = AdminPlan.findAll({ product_id }); } return Ember.RSVP.hash({ plans, product }); }, actions: { destroyPlan(plan) { bootbox.confirm( I18n.t("discourse_patrons.admin.plans.operations.destroy.confirm"), I18n.t("no_value"), I18n.t("yes_value"), confirmed => { if (confirmed) { plan.destroy().then(() => { this.controllerFor("adminPluginsDiscoursePatronsProductsShow") .get("model.plans") .removeObject(plan); }) .catch(data => bootbox.alert(data.jqXHR.responseJSON.errors.join("\n"))); } } ); } } });