1234567891011121314151617181920212223242526272829303132333435 |
- 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 && (!transition.intent.name || !excludedPaths.find((p) => {
- return transition.intent.name.indexOf(p) > -1;
- }))) {
- transition.abort();
- window.location = '/w/' + redirectToWizard.dasherize();
- }
- return this._super(transition);
- }
- }
- })
- }
- };
|