1
0
Fork 0
discourse-custom-wizard-unl.../assets/javascripts/discourse/controllers/admin-wizards-pro.js.es6

57 Zeilen
1,6 KiB
Text

import Controller from "@ember/controller";
import discourseComputed from "discourse-common/utils/decorators";
import CustomWizardPro from "../models/custom-wizard-pro";
import { alias } from "@ember/object/computed";
export default Controller.extend({
messageUrl: "https://thepavilion.io/t/3652",
messageType: 'info',
messageKey: null,
showSubscription: alias('model.authentication.active'),
setup() {
const authentication = this.get('model.authentication');
const subscription = this.get('model.subscription');
const subscribed = subscription && subscription.active;
const authenticated = authentication && authentication.active;
if (!subscribed) {
this.set('messageKey', authenticated ? 'not_subscribed' : 'authorize');
} else {
this.set('messageKey', !authenticated ?
'subscription_expiring' :
subscribed ? 'subscription_active' : 'subscription_inactive'
);
}
},
@discourseComputed('model.server')
messageOpts(server) {
return { server };
},
actions: {
unauthorize() {
this.set('unauthorizing', true);
CustomWizardPro.unauthorize().then(result => {
if (result.success) {
this.setProperties({
messageKey: 'unauthorized',
messageType: 'warn',
"model.authentication": null,
"model.subscription": null
});
} else {
this.setProperties({
messageKey: 'unauthorize_failed',
messageType: 'error'
});
}
}).finally(() => {
this.set('unauthorizing', false);
})
}
}
});