123456789101112131415161718192021222324252627282930313233 |
- import ApplicationRoute from 'discourse/routes/application';
- export default {
- name: "custom-wizard-redirect",
- after: "message-bus",
- initialize: function (container) {
- const messageBus = container.lookup('message-bus:main');
- if (!messageBus) { return; }
- messageBus.subscribe("/redirect_to_wizard", function (wizardId) {
- const wizardUrl = window.location.origin + '/w/' + wizardId;
- window.location.href = wizardUrl;
- });
- ApplicationRoute.reopen({
- actions: {
- willTransition(transition) {
- const redirectToWizard = this.get('currentUser.redirect_to_wizard');
- const excludedPaths = Discourse.SiteSettings.wizard_redirect_exclude_paths.split('|').concat(['loading']);
- if (redirectToWizard && excludedPaths.indexOf(this.routeName) === -1) {
- transition.abort();
- window.location = '/w/' + redirectToWizard.dasherize();
- }
- return this._super(transition);
- }
- }
- })
- }
- };
|