Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-22 17:30:29 +01:00
56 Zeilen
1,6 KiB
JavaScript
56 Zeilen
1,6 KiB
JavaScript
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);
|
|
})
|
|
}
|
|
}
|
|
});
|