DEV: migrate routes to the new @action pattern (#102)

This commit is contained in:
Andrei Prigorshnev 2022-01-06 12:32:09 +01:00 committed by GitHub
parent 9256a45c2a
commit 45780a1ebc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 103 additions and 107 deletions

View File

@ -1,14 +1,14 @@
import Route from "@ember/routing/route"; import Route from "@ember/routing/route";
import AdminCoupon from "discourse/plugins/discourse-subscriptions/discourse/models/admin-coupon"; import AdminCoupon from "discourse/plugins/discourse-subscriptions/discourse/models/admin-coupon";
import { action } from "@ember/object";
export default Route.extend({ export default Route.extend({
model() { model() {
return AdminCoupon.list(); return AdminCoupon.list();
}, },
actions: { @action
reloadModel() { reloadModel() {
this.refresh(); this.refresh();
},
}, },
}); });

View File

@ -1,37 +1,37 @@
import Route from "@ember/routing/route"; import Route from "@ember/routing/route";
import AdminProduct from "discourse/plugins/discourse-subscriptions/discourse/models/admin-product"; import AdminProduct from "discourse/plugins/discourse-subscriptions/discourse/models/admin-product";
import I18n from "I18n"; import I18n from "I18n";
import { action } from "@ember/object";
export default Route.extend({ export default Route.extend({
model() { model() {
return AdminProduct.findAll(); return AdminProduct.findAll();
}, },
actions: { @action
destroyProduct(product) { destroyProduct(product) {
bootbox.confirm( bootbox.confirm(
I18n.t( I18n.t(
"discourse_subscriptions.admin.products.operations.destroy.confirm" "discourse_subscriptions.admin.products.operations.destroy.confirm"
), ),
I18n.t("no_value"), I18n.t("no_value"),
I18n.t("yes_value"), I18n.t("yes_value"),
(confirmed) => { (confirmed) => {
if (confirmed) { if (confirmed) {
product product
.destroy() .destroy()
.then(() => { .then(() => {
this.controllerFor( this.controllerFor(
"adminPluginsDiscourseSubscriptionsProductsIndex" "adminPluginsDiscourseSubscriptionsProductsIndex"
) )
.get("model") .get("model")
.removeObject(product); .removeObject(product);
}) })
.catch((data) => .catch((data) =>
bootbox.alert(data.jqXHR.responseJSON.errors.join("\n")) bootbox.alert(data.jqXHR.responseJSON.errors.join("\n"))
); );
}
} }
); }
}, );
}, },
}); });

View File

@ -3,6 +3,7 @@ import AdminProduct from "discourse/plugins/discourse-subscriptions/discourse/mo
import AdminPlan from "discourse/plugins/discourse-subscriptions/discourse/models/admin-plan"; import AdminPlan from "discourse/plugins/discourse-subscriptions/discourse/models/admin-plan";
import I18n from "I18n"; import I18n from "I18n";
import { hash } from "rsvp"; import { hash } from "rsvp";
import { action } from "@ember/object";
export default Route.extend({ export default Route.extend({
model(params) { model(params) {
@ -20,31 +21,28 @@ export default Route.extend({
return hash({ plans, product }); return hash({ plans, product });
}, },
actions: { @action
destroyPlan(plan) { destroyPlan(plan) {
bootbox.confirm( bootbox.confirm(
I18n.t( I18n.t("discourse_subscriptions.admin.plans.operations.destroy.confirm"),
"discourse_subscriptions.admin.plans.operations.destroy.confirm" I18n.t("no_value"),
), I18n.t("yes_value"),
I18n.t("no_value"), (confirmed) => {
I18n.t("yes_value"), if (confirmed) {
(confirmed) => { plan
if (confirmed) { .destroy()
plan .then(() => {
.destroy() this.controllerFor(
.then(() => { "adminPluginsDiscourseSubscriptionsProductsShow"
this.controllerFor( )
"adminPluginsDiscourseSubscriptionsProductsShow" .get("model.plans")
) .removeObject(plan);
.get("model.plans") })
.removeObject(plan); .catch((data) =>
}) bootbox.alert(data.jqXHR.responseJSON.errors.join("\n"))
.catch((data) => );
bootbox.alert(data.jqXHR.responseJSON.errors.join("\n"))
);
}
} }
); }
}, );
}, },
}); });

View File

@ -1,31 +1,29 @@
import I18n from "I18n"; import I18n from "I18n";
import Route from "@ember/routing/route"; import Route from "@ember/routing/route";
import AdminSubscription from "discourse/plugins/discourse-subscriptions/discourse/models/admin-subscription"; import AdminSubscription from "discourse/plugins/discourse-subscriptions/discourse/models/admin-subscription";
import { action } from "@ember/object";
export default Route.extend({ export default Route.extend({
model() { model() {
return AdminSubscription.find(); return AdminSubscription.find();
}, },
actions: { @action
cancelSubscription(model) { cancelSubscription(model) {
const subscription = model.subscription; const subscription = model.subscription;
const refund = model.refund; const refund = model.refund;
subscription.set("loading", true); subscription.set("loading", true);
subscription subscription
.destroy(refund) .destroy(refund)
.then((result) => { .then((result) => {
subscription.set("status", result.status); subscription.set("status", result.status);
this.send("closeModal"); this.send("closeModal");
bootbox.alert(I18n.t("discourse_subscriptions.admin.canceled")); bootbox.alert(I18n.t("discourse_subscriptions.admin.canceled"));
}) })
.catch((data) => .catch((data) => bootbox.alert(data.jqXHR.responseJSON.errors.join("\n")))
bootbox.alert(data.jqXHR.responseJSON.errors.join("\n")) .finally(() => {
) subscription.set("loading", false);
.finally(() => { this.refresh();
subscription.set("loading", false); });
this.refresh();
});
},
}, },
}); });

View File

@ -1,14 +1,14 @@
import Route from "@ember/routing/route"; import Route from "@ember/routing/route";
import { action } from "@ember/object";
export default Route.extend({ export default Route.extend({
actions: { @action
showSettings() { showSettings() {
const controller = this.controllerFor("adminSiteSettings"); const controller = this.controllerFor("adminSiteSettings");
this.transitionTo("adminSiteSettingsCategory", "plugins").then(() => { this.transitionTo("adminSiteSettingsCategory", "plugins").then(() => {
controller.set("filter", "plugin:discourse-subscriptions campaign"); controller.set("filter", "plugin:discourse-subscriptions campaign");
controller.set("_skipBounce", true); controller.set("_skipBounce", true);
controller.filterContentNow("plugins"); controller.filterContentNow("plugins");
}); });
},
}, },
}); });

View File

@ -1,6 +1,7 @@
import Route from "@ember/routing/route"; import Route from "@ember/routing/route";
import UserSubscription from "discourse/plugins/discourse-subscriptions/discourse/models/user-subscription"; import UserSubscription from "discourse/plugins/discourse-subscriptions/discourse/models/user-subscription";
import I18n from "I18n"; import I18n from "I18n";
import { action } from "@ember/object";
export default Route.extend({ export default Route.extend({
templateName: "user/billing/subscriptions", templateName: "user/billing/subscriptions",
@ -9,31 +10,30 @@ export default Route.extend({
return UserSubscription.findAll(); return UserSubscription.findAll();
}, },
actions: { @action
cancelSubscription(subscription) { cancelSubscription(subscription) {
bootbox.confirm( bootbox.confirm(
I18n.t( I18n.t(
"discourse_subscriptions.user.subscriptions.operations.destroy.confirm" "discourse_subscriptions.user.subscriptions.operations.destroy.confirm"
), ),
I18n.t("no_value"), I18n.t("no_value"),
I18n.t("yes_value"), I18n.t("yes_value"),
(confirmed) => { (confirmed) => {
if (confirmed) { if (confirmed) {
subscription.set("loading", true); subscription.set("loading", true);
subscription subscription
.destroy() .destroy()
.then((result) => subscription.set("status", result.status)) .then((result) => subscription.set("status", result.status))
.catch((data) => .catch((data) =>
bootbox.alert(data.jqXHR.responseJSON.errors.join("\n")) bootbox.alert(data.jqXHR.responseJSON.errors.join("\n"))
) )
.finally(() => { .finally(() => {
subscription.set("loading", false); subscription.set("loading", false);
this.refresh(); this.refresh();
}); });
}
} }
); }
}, );
}, },
}); });