diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-colors-show.js b/app/assets/javascripts/admin/addon/routes/admin-customize-colors-show.js index 220e8114db8..8dc3005cd80 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-colors-show.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-colors-show.js @@ -1,15 +1,10 @@ import Route from "@ember/routing/route"; -import { inject as service } from "@ember/service"; export default class AdminCustomizeColorsShowRoute extends Route { - @service router; - model(params) { const all = this.modelFor("adminCustomize.colors"); const model = all.findBy("id", parseInt(params.scheme_id, 10)); - return model - ? model - : this.router.replaceWith("adminCustomize.colors.index"); + return model ? model : this.replaceWith("adminCustomize.colors.index"); } serialize(model) { diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-index.js b/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-index.js index dbdff426fde..36863b65ec3 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-email-style-index.js @@ -1,10 +1,7 @@ import Route from "@ember/routing/route"; -import { inject as service } from "@ember/service"; export default class AdminCustomizeEmailStyleIndexRoute extends Route { - @service router; - beforeModel() { - this.router.replaceWith("adminCustomizeEmailStyle.edit", "html"); + this.replaceWith("adminCustomizeEmailStyle.edit", "html"); } } diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-themes-edit.js b/app/assets/javascripts/admin/addon/routes/admin-customize-themes-edit.js index c40a55c9253..cdc700da9a5 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-themes-edit.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-themes-edit.js @@ -16,7 +16,7 @@ export default class AdminCustomizeThemesEditRoute extends Route { target: params.target, field_name: params.field_name, } - : this.router.replaceWith("adminCustomizeThemes.index"); + : this.replaceWith("adminCustomizeThemes.index"); } serialize(wrapper) { diff --git a/app/assets/javascripts/admin/addon/routes/admin-customize-themes-show.js b/app/assets/javascripts/admin/addon/routes/admin-customize-themes-show.js index 93194ac3e00..1481ca32cc2 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-customize-themes-show.js +++ b/app/assets/javascripts/admin/addon/routes/admin-customize-themes-show.js @@ -7,7 +7,6 @@ import { scrollTop } from "discourse/mixins/scroll-top"; export default class AdminCustomizeThemesShowRoute extends Route { @service dialog; - @service router; serialize(model) { return { theme_id: model.get("id") }; @@ -16,7 +15,7 @@ export default class AdminCustomizeThemesShowRoute extends Route { model(params) { const all = this.modelFor("adminCustomizeThemes"); const model = all.findBy("id", parseInt(params.theme_id, 10)); - return model || this.router.replaceWith("adminCustomizeThemes.index"); + return model ? model : this.replaceWith("adminCustomizeThemes.index"); } setupController(controller, model) { diff --git a/app/assets/javascripts/admin/addon/routes/admin-site-settings-index.js b/app/assets/javascripts/admin/addon/routes/admin-site-settings-index.js index ebd4c28513d..5f266784bd4 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-site-settings-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-site-settings-index.js @@ -3,13 +3,10 @@ chosen a category. It will redirect to the first category. **/ import DiscourseRoute from "discourse/routes/discourse"; -import { inject as service } from "@ember/service"; export default class AdminSiteSettingsIndexRoute extends DiscourseRoute { - @service router; - beforeModel() { - this.router.replaceWith( + this.replaceWith( "adminSiteSettingsCategory", this.controllerFor("adminSiteSettings").get("visibleSiteSettings")[0] .nameKey diff --git a/app/assets/javascripts/admin/addon/routes/admin-watched-words-index.js b/app/assets/javascripts/admin/addon/routes/admin-watched-words-index.js index 7eedaef9326..4f9f0dc7026 100644 --- a/app/assets/javascripts/admin/addon/routes/admin-watched-words-index.js +++ b/app/assets/javascripts/admin/addon/routes/admin-watched-words-index.js @@ -1,11 +1,8 @@ import DiscourseRoute from "discourse/routes/discourse"; -import { inject as service } from "@ember/service"; export default class AdminWatchedWordsIndexRoute extends DiscourseRoute { - @service router; - beforeModel() { - this.router.replaceWith( + this.replaceWith( "adminWatchedWords.action", this.modelFor("adminWatchedWords")[0].nameKey ); diff --git a/app/assets/javascripts/discourse/app/routes/associate-account.js b/app/assets/javascripts/discourse/app/routes/associate-account.js index 12463093910..f00ea57de21 100644 --- a/app/assets/javascripts/discourse/app/routes/associate-account.js +++ b/app/assets/javascripts/discourse/app/routes/associate-account.js @@ -4,18 +4,15 @@ import { next } from "@ember/runloop"; import { popupAjaxError } from "discourse/lib/ajax-error"; import showModal from "discourse/lib/show-modal"; import cookie from "discourse/lib/cookie"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), - beforeModel(transition) { if (!this.currentUser) { cookie("destination_url", transition.intent.url); - return this.router.replaceWith("login"); + return this.replaceWith("login"); } const params = this.paramsFor("associate-account"); - this.router.replaceWith(`preferences.account`, this.currentUser).then(() => + this.replaceWith(`preferences.account`, this.currentUser).then(() => next(() => ajax(`/associate/${encodeURIComponent(params.token)}.json`) .then((model) => showModal("associate-account-confirm", { model })) diff --git a/app/assets/javascripts/discourse/app/routes/build-category-route.js b/app/assets/javascripts/discourse/app/routes/build-category-route.js index e67e17b775e..0cee1a6a0c3 100644 --- a/app/assets/javascripts/discourse/app/routes/build-category-route.js +++ b/app/assets/javascripts/discourse/app/routes/build-category-route.js @@ -23,7 +23,6 @@ export default (filterArg, params) => { return DiscourseRoute.extend({ queryParams, composer: service(), - router: service(), model(modelParams) { const category = Category.findBySlugPathWithID( @@ -51,7 +50,7 @@ export default (filterArg, params) => { afterModel(model, transition) { if (!model) { - this.router.replaceWith("/404"); + this.replaceWith("/404"); return; } @@ -65,7 +64,7 @@ export default (filterArg, params) => { ) { // TODO: avoid throwing away preload data by redirecting on the server PreloadStore.getAndRemove("topic_list"); - return this.router.replaceWith( + return this.replaceWith( "discovery.categoryNone", modelParams.category_slug_path_with_id ); diff --git a/app/assets/javascripts/discourse/app/routes/discourse.js b/app/assets/javascripts/discourse/app/routes/discourse.js index 92b1d994a09..da07704a23c 100644 --- a/app/assets/javascripts/discourse/app/routes/discourse.js +++ b/app/assets/javascripts/discourse/app/routes/discourse.js @@ -4,10 +4,8 @@ import Route from "@ember/routing/route"; import { once } from "@ember/runloop"; import { seenUser } from "discourse/lib/user-presence"; import { getOwner } from "discourse-common/lib/get-owner"; -import { inject as service } from "@ember/service"; const DiscourseRoute = Route.extend({ - router: service(), showFooter: false, willTransition() { @@ -51,7 +49,7 @@ const DiscourseRoute = Route.extend({ redirectIfLoginRequired() { const app = this.controllerFor("application"); if (app.get("loginRequired")) { - this.router.replaceWith("login"); + this.replaceWith("login"); } }, diff --git a/app/assets/javascripts/discourse/app/routes/discovery.js b/app/assets/javascripts/discourse/app/routes/discovery.js index f31d0a88051..0434c228178 100644 --- a/app/assets/javascripts/discourse/app/routes/discovery.js +++ b/app/assets/javascripts/discourse/app/routes/discovery.js @@ -8,10 +8,8 @@ import User from "discourse/models/user"; import { setTopicList } from "discourse/lib/topic-list-tracker"; import { action } from "@ember/object"; import { resetCachedTopicList } from "discourse/lib/cached-topic-list"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend(OpenComposer, { - router: service(), queryParams: { filter: { refreshModel: true }, }, @@ -31,14 +29,14 @@ export default DiscourseRoute.extend(OpenComposer, { User.currentProp("user_option.should_be_redirected_to_top", false); const period = User.currentProp("user_option.redirected_to_top.period") || "all"; - this.router.replaceWith("discovery.top", { + this.replaceWith("discovery.top", { queryParams: { period, }, }); } else if (url && (matches = url.match(/top\/(.*)$/))) { if (this.site.periods.includes(matches[1])) { - this.router.replaceWith("discovery.top", { + this.replaceWith("discovery.top", { queryParams: { period: matches[1], }, diff --git a/app/assets/javascripts/discourse/app/routes/edit-category-index.js b/app/assets/javascripts/discourse/app/routes/edit-category-index.js index 1dd31f31332..17d20e52dfd 100644 --- a/app/assets/javascripts/discourse/app/routes/edit-category-index.js +++ b/app/assets/javascripts/discourse/app/routes/edit-category-index.js @@ -1,11 +1,8 @@ import DiscourseRoute from "discourse/routes/discourse"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), - afterModel() { const params = this.paramsFor("editCategory"); - this.router.replaceWith(`/c/${params.slug}/edit/general`); + this.replaceWith(`/c/${params.slug}/edit/general`); }, }); diff --git a/app/assets/javascripts/discourse/app/routes/edit-category.js b/app/assets/javascripts/discourse/app/routes/edit-category.js index e675dad45b5..a3c43dbff59 100644 --- a/app/assets/javascripts/discourse/app/routes/edit-category.js +++ b/app/assets/javascripts/discourse/app/routes/edit-category.js @@ -1,11 +1,8 @@ import Category from "discourse/models/category"; import DiscourseRoute from "discourse/routes/discourse"; import I18n from "I18n"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), - model(params) { return Category.reloadCategoryWithPermissions( params, @@ -16,7 +13,7 @@ export default DiscourseRoute.extend({ afterModel(model) { if (!model.can_edit) { - this.router.replaceWith("/404"); + this.replaceWith("/404"); return; } }, diff --git a/app/assets/javascripts/discourse/app/routes/forgot-password.js b/app/assets/javascripts/discourse/app/routes/forgot-password.js index cd7f4b8b0fa..f07d8b0e120 100644 --- a/app/assets/javascripts/discourse/app/routes/forgot-password.js +++ b/app/assets/javascripts/discourse/app/routes/forgot-password.js @@ -1,15 +1,12 @@ import DiscourseRoute from "discourse/routes/discourse"; import { defaultHomepage } from "discourse/lib/utilities"; import { next } from "@ember/runloop"; -import { inject as service } from "@ember/service"; export default class ForgotPasswordRoute extends DiscourseRoute { - @service router; - async beforeModel() { const { loginRequired } = this.controllerFor("application"); - const e = await this.router.replaceWith( + const e = await this.replaceWith( loginRequired ? "login" : `discovery.${defaultHomepage()}` ); diff --git a/app/assets/javascripts/discourse/app/routes/group-manage-membership.js b/app/assets/javascripts/discourse/app/routes/group-manage-membership.js index 2eeadd9234d..b448f867567 100644 --- a/app/assets/javascripts/discourse/app/routes/group-manage-membership.js +++ b/app/assets/javascripts/discourse/app/routes/group-manage-membership.js @@ -1,9 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; import I18n from "I18n"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), showFooter: true, titleToken() { @@ -12,7 +10,7 @@ export default DiscourseRoute.extend({ afterModel(group) { if (group.get("automatic")) { - this.router.replaceWith("group.manage.interaction", group); + this.replaceWith("group.manage.interaction", group); } }, }); diff --git a/app/assets/javascripts/discourse/app/routes/login.js b/app/assets/javascripts/discourse/app/routes/login.js index be8e2f40793..a8c4788e562 100644 --- a/app/assets/javascripts/discourse/app/routes/login.js +++ b/app/assets/javascripts/discourse/app/routes/login.js @@ -6,7 +6,6 @@ import StaticPage from "discourse/models/static-page"; export default class LoginRoute extends DiscourseRoute { @service siteSettings; - @service router; // `login-page` because `login` controller is the one for // the login modal @@ -14,7 +13,7 @@ export default class LoginRoute extends DiscourseRoute { beforeModel() { if (!this.siteSettings.login_required) { - this.router.replaceWith(`/${defaultHomepage()}`).then((e) => { + this.replaceWith(`/${defaultHomepage()}`).then((e) => { next(() => e.send("showLogin")); }); } diff --git a/app/assets/javascripts/discourse/app/routes/new-category.js b/app/assets/javascripts/discourse/app/routes/new-category.js index a7e38d5a1b5..f9244c28dce 100644 --- a/app/assets/javascripts/discourse/app/routes/new-category.js +++ b/app/assets/javascripts/discourse/app/routes/new-category.js @@ -2,7 +2,6 @@ import DiscourseRoute from "discourse/routes/discourse"; import I18n from "I18n"; import { Promise } from "rsvp"; import { SEARCH_PRIORITIES } from "discourse/lib/constants"; -import { inject as service } from "@ember/service"; let _newCategoryColor = "0088CC"; let _newCategoryTextColor = "FFFFFF"; @@ -13,13 +12,12 @@ export function setNewCategoryDefaultColors(backgroundColor, textColor) { } export default DiscourseRoute.extend({ - router: service(), controllerName: "edit-category-tabs", templateName: "edit-category-tabs", beforeModel() { if (!this.currentUser) { - this.router.replaceWith("/404"); + this.replaceWith("/404"); return; } if (!this.currentUser.admin) { @@ -27,7 +25,7 @@ export default DiscourseRoute.extend({ !this.currentUser.moderator || this.siteSettings.moderators_manage_categories_and_groups === false ) { - this.router.replaceWith("/404"); + this.replaceWith("/404"); } } }, diff --git a/app/assets/javascripts/discourse/app/routes/new-message.js b/app/assets/javascripts/discourse/app/routes/new-message.js index 4138de3de27..c9794ce116f 100644 --- a/app/assets/javascripts/discourse/app/routes/new-message.js +++ b/app/assets/javascripts/discourse/app/routes/new-message.js @@ -7,7 +7,6 @@ import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ dialog: service(), - router: service(), beforeModel(transition) { const params = transition.to.queryParams; @@ -15,7 +14,7 @@ export default DiscourseRoute.extend({ const groupName = params.groupname || params.group_name; if (this.currentUser) { - this.router.replaceWith("/latest").then((e) => { + this.replaceWith("discovery.latest").then((e) => { if (params.username) { e.send("createNewMessageViaParams", { recipients: params.username, @@ -50,7 +49,7 @@ export default DiscourseRoute.extend({ }); } else { cookie("destination_url", window.location.href); - this.router.replaceWith("login"); + this.replaceWith("login"); } }, }); diff --git a/app/assets/javascripts/discourse/app/routes/new-topic.js b/app/assets/javascripts/discourse/app/routes/new-topic.js index ece89726743..f66848f90b9 100644 --- a/app/assets/javascripts/discourse/app/routes/new-topic.js +++ b/app/assets/javascripts/discourse/app/routes/new-topic.js @@ -2,11 +2,8 @@ import Category from "discourse/models/category"; import DiscourseRoute from "discourse/routes/discourse"; import cookie from "discourse/lib/cookie"; import { next } from "@ember/runloop"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), - beforeModel(transition) { if (this.currentUser) { let category, categoryId; @@ -37,9 +34,10 @@ export default DiscourseRoute.extend({ } if (category) { - // Using URL-based transition to avoid bug with dynamic segments and refreshModel query params - // https://github.com/emberjs/ember.js/issues/16992 - this.router.replaceWith(`/c/${category.id}`).then((e) => { + let route = "discovery.category"; + let params = { category, id: category.id }; + + this.replaceWith(route, params).then((e) => { if (this.controllerFor("navigation/category").canCreateTopic) { this._sendTransition(e, transition, categoryId); } @@ -49,7 +47,7 @@ export default DiscourseRoute.extend({ transition.abort(); this.send("createNewTopicViaParams"); } else { - this.router.replaceWith("discovery.latest").then((e) => { + this.replaceWith("discovery.latest").then((e) => { if (this.controllerFor("navigation/default").canCreateTopic) { this._sendTransition(e, transition); } @@ -59,7 +57,7 @@ export default DiscourseRoute.extend({ } else { // User is not logged in cookie("destination_url", window.location.href); - this.router.replaceWith("login"); + this.replaceWith("login"); } }, diff --git a/app/assets/javascripts/discourse/app/routes/restricted-user.js b/app/assets/javascripts/discourse/app/routes/restricted-user.js index fad283be5a0..fabdfe89488 100644 --- a/app/assets/javascripts/discourse/app/routes/restricted-user.js +++ b/app/assets/javascripts/discourse/app/routes/restricted-user.js @@ -1,13 +1,10 @@ import DiscourseRoute from "discourse/routes/discourse"; -import { inject as service } from "@ember/service"; // A base route that allows us to redirect when access is restricted export default DiscourseRoute.extend({ - router: service(), - afterModel() { if (!this.modelFor("user").get("can_edit")) { - this.router.replaceWith("userActivity"); + this.replaceWith("userActivity"); } }, }); diff --git a/app/assets/javascripts/discourse/app/routes/signup.js b/app/assets/javascripts/discourse/app/routes/signup.js index d285d9eb9cc..bf9f6d57d89 100644 --- a/app/assets/javascripts/discourse/app/routes/signup.js +++ b/app/assets/javascripts/discourse/app/routes/signup.js @@ -1,21 +1,18 @@ import DiscourseRoute from "discourse/routes/discourse"; import { next } from "@ember/runloop"; -import { inject as service } from "@ember/service"; export default class SignupRoute extends DiscourseRoute { - @service router; - beforeModel() { const { canSignUp } = this.controllerFor("application"); if (this.siteSettings.login_required) { - this.router.replaceWith("login").then((e) => { + this.replaceWith("login").then((e) => { if (canSignUp) { next(() => e.send("showCreateAccount")); } }); } else { - this.router.replaceWith("discovery.latest").then((e) => { + this.replaceWith("discovery.latest").then((e) => { if (canSignUp) { next(() => e.send("showCreateAccount")); } diff --git a/app/assets/javascripts/discourse/app/routes/tag-show.js b/app/assets/javascripts/discourse/app/routes/tag-show.js index 9c0b873ee74..5286b0ad178 100644 --- a/app/assets/javascripts/discourse/app/routes/tag-show.js +++ b/app/assets/javascripts/discourse/app/routes/tag-show.js @@ -25,7 +25,6 @@ const ALL = "all"; export default DiscourseRoute.extend(FilterModeMixin, { composer: service(), - router: service(), navMode: "latest", queryParams, @@ -100,7 +99,7 @@ export default DiscourseRoute.extend(FilterModeMixin, { ) { // TODO: avoid throwing away preload data by redirecting on the server PreloadStore.getAndRemove("topic_list"); - return this.router.replaceWith( + return this.replaceWith( "tags.showCategoryNone", params.category_slug_path_with_id, tagId diff --git a/app/assets/javascripts/discourse/app/routes/user-activity.js b/app/assets/javascripts/discourse/app/routes/user-activity.js index 805585320ce..f6bd36c49c3 100644 --- a/app/assets/javascripts/discourse/app/routes/user-activity.js +++ b/app/assets/javascripts/discourse/app/routes/user-activity.js @@ -1,14 +1,11 @@ import DiscourseRoute from "discourse/routes/discourse"; import I18n from "I18n"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), - model() { let user = this.modelFor("user"); if (user.get("profile_hidden")) { - return this.router.replaceWith("user.profile-hidden"); + return this.replaceWith("user.profile-hidden"); } return user; diff --git a/app/assets/javascripts/discourse/app/routes/user-index.js b/app/assets/javascripts/discourse/app/routes/user-index.js index 70bdc652c58..00db564fb9f 100644 --- a/app/assets/javascripts/discourse/app/routes/user-index.js +++ b/app/assets/javascripts/discourse/app/routes/user-index.js @@ -15,7 +15,7 @@ export default DiscourseRoute.extend({ // transition into a user's activity works. This makes the back button work on mobile // where there is no user card as well as desktop where there is. if (this.site.mobileView) { - this.router.replaceWith(destination); + this.replaceWith(destination); } else { this.router.transitionTo(destination); } diff --git a/app/assets/javascripts/discourse/app/routes/user-invited-index.js b/app/assets/javascripts/discourse/app/routes/user-invited-index.js index aabec5c4bf6..9859a43270f 100644 --- a/app/assets/javascripts/discourse/app/routes/user-invited-index.js +++ b/app/assets/javascripts/discourse/app/routes/user-invited-index.js @@ -1,10 +1,7 @@ import DiscourseRoute from "discourse/routes/discourse"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), - beforeModel() { - this.router.replaceWith("userInvited.show", "pending"); + this.replaceWith("userInvited.show", "pending"); }, }); diff --git a/app/assets/javascripts/discourse/app/routes/user-invited-show.js b/app/assets/javascripts/discourse/app/routes/user-invited-show.js index a327b8749b1..bfa5ce2136d 100644 --- a/app/assets/javascripts/discourse/app/routes/user-invited-show.js +++ b/app/assets/javascripts/discourse/app/routes/user-invited-show.js @@ -2,11 +2,8 @@ import DiscourseRoute from "discourse/routes/discourse"; import Invite from "discourse/models/invite"; import { action } from "@ember/object"; import I18n from "I18n"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), - model(params) { this.inviteFilter = params.filter; return Invite.findInvitedBy(this.modelFor("user"), params.filter); @@ -14,7 +11,7 @@ export default DiscourseRoute.extend({ afterModel(model) { if (!model.can_see_invite_details) { - this.router.replaceWith("userInvited.show", "redeemed"); + this.replaceWith("userInvited.show", "redeemed"); } this.controllerFor("user.invited").setProperties({ invitesCount: model.counts, diff --git a/app/assets/javascripts/discourse/app/routes/user-summary.js b/app/assets/javascripts/discourse/app/routes/user-summary.js index 4890bc9154e..7f06eabd8c9 100644 --- a/app/assets/javascripts/discourse/app/routes/user-summary.js +++ b/app/assets/javascripts/discourse/app/routes/user-summary.js @@ -1,15 +1,13 @@ import DiscourseRoute from "discourse/routes/discourse"; import I18n from "I18n"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), showFooter: true, model() { const user = this.modelFor("user"); if (user.get("profile_hidden")) { - return this.router.replaceWith("user.profile-hidden"); + return this.replaceWith("user.profile-hidden"); } return user.summary(); diff --git a/app/assets/javascripts/discourse/app/routes/user.js b/app/assets/javascripts/discourse/app/routes/user.js index ea86f5425e8..cf9072e1b8c 100644 --- a/app/assets/javascripts/discourse/app/routes/user.js +++ b/app/assets/javascripts/discourse/app/routes/user.js @@ -2,14 +2,11 @@ import DiscourseRoute from "discourse/routes/discourse"; import User from "discourse/models/user"; import { action } from "@ember/object"; import { bind } from "discourse-common/utils/decorators"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), - beforeModel() { if (this.siteSettings.hide_user_profiles_from_public && !this.currentUser) { - this.router.replaceWith("discovery"); + this.replaceWith("discovery"); } }, @@ -34,7 +31,7 @@ export default DiscourseRoute.extend({ .findDetails() .then(() => user.findStaffInfo()) .then(() => user.trackStatus()) - .catch(() => this.router.replaceWith("/404")); + .catch(() => this.replaceWith("/404")); }, serialize(model) { diff --git a/app/assets/javascripts/discourse/app/routes/users.js b/app/assets/javascripts/discourse/app/routes/users.js index 14b214d4334..442f2b3b555 100644 --- a/app/assets/javascripts/discourse/app/routes/users.js +++ b/app/assets/javascripts/discourse/app/routes/users.js @@ -4,10 +4,8 @@ import { ajax } from "discourse/lib/ajax"; import { popupAjaxError } from "discourse/lib/ajax-error"; import { Promise } from "rsvp"; import { action } from "@ember/object"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), queryParams: { period: { refreshModel: true }, order: { refreshModel: true }, @@ -37,7 +35,7 @@ export default DiscourseRoute.extend({ beforeModel() { if (this.siteSettings.hide_user_profiles_from_public && !this.currentUser) { - this.router.replaceWith("discovery"); + this.replaceWith("discovery"); } }, diff --git a/app/assets/javascripts/discourse/config/deprecation-workflow.js b/app/assets/javascripts/discourse/config/deprecation-workflow.js index be54495fb24..a40e3ff0880 100644 --- a/app/assets/javascripts/discourse/config/deprecation-workflow.js +++ b/app/assets/javascripts/discourse/config/deprecation-workflow.js @@ -5,6 +5,7 @@ globalThis.deprecationWorkflow.config = { workflow: [ { handler: "silence", matchId: "route-render-template" }, { handler: "silence", matchId: "route-disconnect-outlet" }, + { handler: "silence", matchId: "routing.transition-methods" }, { handler: "silence", matchId: "this-property-fallback" }, { handler: "silence", matchId: "discourse.select-kit" }, ], diff --git a/app/assets/javascripts/wizard/addon/routes/wizard-index.js b/app/assets/javascripts/wizard/addon/routes/wizard-index.js index 49e3633305b..d6305f86193 100644 --- a/app/assets/javascripts/wizard/addon/routes/wizard-index.js +++ b/app/assets/javascripts/wizard/addon/routes/wizard-index.js @@ -1,11 +1,8 @@ import DiscourseRoute from "discourse/routes/discourse"; -import { inject as service } from "@ember/service"; export default DiscourseRoute.extend({ - router: service(), - beforeModel() { const appModel = this.modelFor("wizard"); - this.router.replaceWith("wizard.step", appModel.start); + this.replaceWith("wizard.step", appModel.start); }, }); diff --git a/plugins/chat/assets/javascripts/discourse/routes/chat-browse-archived.js b/plugins/chat/assets/javascripts/discourse/routes/chat-browse-archived.js index 15e563da5f6..7fc075e2cee 100644 --- a/plugins/chat/assets/javascripts/discourse/routes/chat-browse-archived.js +++ b/plugins/chat/assets/javascripts/discourse/routes/chat-browse-archived.js @@ -1,13 +1,9 @@ import DiscourseRoute from "discourse/routes/discourse"; -import { inject as service } from "@ember/service"; export default class ChatBrowseIndexRoute extends DiscourseRoute { - @service router; - @service siteSettings; - afterModel() { if (!this.siteSettings.chat_allow_archiving_channels) { - this.router.replaceWith("chat.browse"); + this.replaceWith("chat.browse"); } } } diff --git a/plugins/chat/assets/javascripts/discourse/routes/chat-browse-index.js b/plugins/chat/assets/javascripts/discourse/routes/chat-browse-index.js index 1eeab604515..7cec808e2cc 100644 --- a/plugins/chat/assets/javascripts/discourse/routes/chat-browse-index.js +++ b/plugins/chat/assets/javascripts/discourse/routes/chat-browse-index.js @@ -18,6 +18,6 @@ export default class ChatBrowseIndexRoute extends DiscourseRoute { } afterModel() { - this.router.replaceWith("chat.browse.open"); + this.replaceWith("chat.browse.open"); } } diff --git a/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-about.js b/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-about.js index 9bb3d7b81b0..a92d5e882f0 100644 --- a/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-about.js +++ b/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-about.js @@ -1,12 +1,9 @@ import DiscourseRoute from "discourse/routes/discourse"; -import { inject as service } from "@ember/service"; export default class ChatChannelInfoAboutRoute extends DiscourseRoute { - @service router; - afterModel(model) { if (model.isDirectMessageChannel) { - this.router.replaceWith("chat.channel.info.index"); + this.replaceWith("chat.channel.info.index"); } } } diff --git a/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-index.js b/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-index.js index 03258bae148..c7bfd1c0905 100644 --- a/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-index.js +++ b/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-index.js @@ -1,18 +1,15 @@ import DiscourseRoute from "discourse/routes/discourse"; -import { inject as service } from "@ember/service"; export default class ChatChannelInfoIndexRoute extends DiscourseRoute { - @service router; - afterModel(model) { if (model.isDirectMessageChannel) { if (model.isOpen && model.membershipsCount >= 1) { - this.router.replaceWith("chat.channel.info.members"); + this.replaceWith("chat.channel.info.members"); } else { - this.router.replaceWith("chat.channel.info.settings"); + this.replaceWith("chat.channel.info.settings"); } } else { - this.router.replaceWith("chat.channel.info.about"); + this.replaceWith("chat.channel.info.about"); } } } diff --git a/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-members.js b/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-members.js index 6260e3f1a65..d3fba6f97de 100644 --- a/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-members.js +++ b/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-members.js @@ -1,16 +1,13 @@ import DiscourseRoute from "discourse/routes/discourse"; -import { inject as service } from "@ember/service"; export default class ChatChannelInfoMembersRoute extends DiscourseRoute { - @service router; - afterModel(model) { if (!model.isOpen) { - return this.router.replaceWith("chat.channel.info.settings"); + return this.replaceWith("chat.channel.info.settings"); } if (model.membershipsCount < 1) { - return this.router.replaceWith("chat.channel.info"); + return this.replaceWith("chat.channel.info"); } } } diff --git a/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-settings.js b/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-settings.js index 8468b04492d..61635238534 100644 --- a/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-settings.js +++ b/plugins/chat/assets/javascripts/discourse/routes/chat-channel-info-settings.js @@ -1,13 +1,9 @@ import DiscourseRoute from "discourse/routes/discourse"; -import { inject as service } from "@ember/service"; export default class ChatChannelInfoSettingsRoute extends DiscourseRoute { - @service router; - @service currentUser; - afterModel(model) { if (!this.currentUser?.staff && !model.currentUserMembership?.following) { - this.router.replaceWith("chat.channel.info"); + this.replaceWith("chat.channel.info"); } } } diff --git a/plugins/chat/assets/javascripts/discourse/routes/chat-message.js b/plugins/chat/assets/javascripts/discourse/routes/chat-message.js index 85455e0a04f..4b7aaee0d1a 100644 --- a/plugins/chat/assets/javascripts/discourse/routes/chat-message.js +++ b/plugins/chat/assets/javascripts/discourse/routes/chat-message.js @@ -17,7 +17,7 @@ export default class ChatMessageRoute extends DiscourseRoute { params.messageId ); }) - .catch(() => this.router.replaceWith("/404")); + .catch(() => this.replaceWith("/404")); } beforeModel() {