From 7861e37224c263d7ff8837e2888f0915943281be Mon Sep 17 00:00:00 2001 From: Robert Barrow Date: Wed, 12 Jul 2023 11:04:59 +0100 Subject: [PATCH] restore original redirect file --- .../initializers/custom-wizard-edits.js.es6 | 33 ++++----------- .../custom-wizard-redirect.js.es6 | 42 +++++++++++++++++++ 2 files changed, 49 insertions(+), 26 deletions(-) create mode 100644 assets/javascripts/discourse/initializers/custom-wizard-redirect.js.es6 diff --git a/assets/javascripts/discourse/initializers/custom-wizard-edits.js.es6 b/assets/javascripts/discourse/initializers/custom-wizard-edits.js.es6 index c010145c..c974fafb 100644 --- a/assets/javascripts/discourse/initializers/custom-wizard-edits.js.es6 +++ b/assets/javascripts/discourse/initializers/custom-wizard-edits.js.es6 @@ -2,44 +2,25 @@ import DiscourseURL from "discourse/lib/url"; import { withPluginApi } from "discourse/lib/plugin-api"; import getUrl from "discourse-common/lib/get-url"; import { observes } from "discourse-common/utils/decorators"; -import { dasherize } from "@ember/string"; export default { name: "custom-wizard-edits", initialize(container) { - const messageBus = container.lookup("service:message-bus"); const siteSettings = container.lookup("service:site-settings"); if (!siteSettings.custom_wizard_enabled) { return; } - messageBus.subscribe("/redirect_to_wizard", function (wizardId) { - const wizardUrl = window.location.origin + "/w/" + wizardId; - window.location.href = wizardUrl; - }); + const existing = DiscourseURL.routeTo; + DiscourseURL.routeTo = function (path, opts) { + if (path && path.indexOf("/w/") > -1) { + return (window.location = path); + } + return existing.apply(this, [path, opts]); + }; withPluginApi("0.8.36", (api) => { - api.onAppEvent("page:changed", (data) => { - const currentUser = container.lookup("service:current-user"); - const settings = container.lookup("service:site-settings"); - if (currentUser) { - const redirectToWizard = currentUser.redirect_to_wizard; - const excludedPaths = settings.wizard_redirect_exclude_paths - .split("|") - .concat(["loading"]); - if ( - redirectToWizard && - data.currentRouteName !== "customWizardStep" && - !excludedPaths.find((p) => { - return data.currentRouteName.indexOf(p) > -1; - }) - ) { - DiscourseURL.routeTo(`/w/${dasherize(redirectToWizard)}`); - } - } - }); - api.modifyClass("component:d-navigation", { pluginId: "custom-wizard", actions: { diff --git a/assets/javascripts/discourse/initializers/custom-wizard-redirect.js.es6 b/assets/javascripts/discourse/initializers/custom-wizard-redirect.js.es6 new file mode 100644 index 00000000..cfac123f --- /dev/null +++ b/assets/javascripts/discourse/initializers/custom-wizard-redirect.js.es6 @@ -0,0 +1,42 @@ +import DiscourseURL from "discourse/lib/url"; +import { withPluginApi } from "discourse/lib/plugin-api"; +import { dasherize } from "@ember/string"; + +export default { + name: "custom-wizard-redirect", + initialize(container) { + const messageBus = container.lookup("service:message-bus"); + const siteSettings = container.lookup("service:site-settings"); + + if (!siteSettings.custom_wizard_enabled) { + return; + } + + messageBus.subscribe("/redirect_to_wizard", function (wizardId) { + const wizardUrl = window.location.origin + "/w/" + wizardId; + window.location.href = wizardUrl; + }); + + withPluginApi("0.8.36", (api) => { + api.onAppEvent("page:changed", (data) => { + const currentUser = container.lookup("service:current-user"); + + if (currentUser) { + const redirectToWizard = currentUser.redirect_to_wizard; + const excludedPaths = siteSettings.wizard_redirect_exclude_paths + .split("|") + .concat(["loading"]); + if ( + redirectToWizard && + data.currentRouteName !== "customWizardStep" && + !excludedPaths.find((p) => { + return data.currentRouteName.indexOf(p) > -1; + }) + ) { + DiscourseURL.routeTo(`/w/${dasherize(redirectToWizard)}`); + } + } + }); + }); + }, +};