diff --git a/services/web/app/src/Features/User/UserPagesController.js b/services/web/app/src/Features/User/UserPagesController.js index c6feb07b42..1e22f9e2fc 100644 --- a/services/web/app/src/Features/User/UserPagesController.js +++ b/services/web/app/src/Features/User/UserPagesController.js @@ -60,7 +60,9 @@ async function settingsPage(req, res) { const user = await UserGetter.promises.getUser(userId) if (!user) { // The user has just deleted their account. - return res.redirect('/logout') + return UserSessionsManager.revokeAllUserSessions({ _id: userId }, [], () => + res.redirect('/') + ) } res.render('user/settings', { title: 'account_settings', @@ -151,10 +153,6 @@ const UserPagesController = { res.render('user/one_time_login') }, - logoutPage(req, res) { - res.render('user/logout') - }, - renderReconfirmAccountPage(req, res) { const pageData = { reconfirm_email: req.session.reconfirm_email, diff --git a/services/web/app/src/router.js b/services/web/app/src/router.js index aac72708d7..ecac532c86 100644 --- a/services/web/app/src/router.js +++ b/services/web/app/src/router.js @@ -263,7 +263,6 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) { '/read-only/one-time-login' ) - webRouter.get('/logout', UserPagesController.logoutPage) webRouter.post('/logout', UserController.logout) webRouter.get('/restricted', AuthorizationMiddleware.restricted) diff --git a/services/web/app/views/user/logout.pug b/services/web/app/views/user/logout.pug deleted file mode 100644 index 6ba5387f5d..0000000000 --- a/services/web/app/views/user/logout.pug +++ /dev/null @@ -1,24 +0,0 @@ -extends ../layout-marketing - -block content - .content.content-alt - main.login-register-container#main-content - .card.login-register-card - .login-register-header - h1.login-register-header-heading #{translate("log_out")} - form.login-register-form( - data-ol-async-form, - name="logoutForm", - action='/logout', - method="POST" - data-ol-auto-submit - ) - input(name='_csrf', type='hidden', value=csrfToken) - +formMessages() - .actions - button#submit-logout.btn-primary.btn.btn-block( - data-ol-disabled-inflight, - type='submit' - ) - span(data-ol-inflight="idle" aria-label=translate('log_out')) #{translate('log_out')} - span(hidden data-ol-inflight="pending" aria-label=translate("logging_out")) #{translate('logging_out')}… diff --git a/services/web/frontend/js/features/settings/components/leave/modal-form.tsx b/services/web/frontend/js/features/settings/components/leave/modal-form.tsx index 5904c35bb6..c0486c26ab 100644 --- a/services/web/frontend/js/features/settings/components/leave/modal-form.tsx +++ b/services/web/frontend/js/features/settings/components/leave/modal-form.tsx @@ -55,7 +55,7 @@ function LeaveModalForm({ }, }) .then(() => { - location.assign('/login') + location.assign('/') }) .catch(setError) .finally(() => { diff --git a/services/web/locales/en.json b/services/web/locales/en.json index 3eb84a8852..93b7ea0c20 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -850,7 +850,6 @@ "log_viewer_error": "There was a problem displaying this project’s compilation errors and logs.", "logged_in_with_email": "You are currently logged in to __appName__ with the email __email__.", "logging_in": "Logging in", - "logging_out": "Logging out", "login": "Login", "login_error": "Login error", "login_failed": "Login failed", diff --git a/services/web/test/frontend/features/settings/components/leave/modal-form.test.tsx b/services/web/test/frontend/features/settings/components/leave/modal-form.test.tsx index 0402f0c56a..2ae4f87e18 100644 --- a/services/web/test/frontend/features/settings/components/leave/modal-form.test.tsx +++ b/services/web/test/frontend/features/settings/components/leave/modal-form.test.tsx @@ -89,7 +89,7 @@ describe('', function () { sinon.assert.calledTwice(setInFlight) sinon.assert.calledWithMatch(setInFlight, false) sinon.assert.calledOnce(assignStub) - sinon.assert.calledWith(assignStub, '/login') + sinon.assert.calledWith(assignStub, '/') }) }) diff --git a/services/web/test/smoke/src/steps/002_login.js b/services/web/test/smoke/src/steps/002_login.js index f0bdd8a321..c92e38456b 100644 --- a/services/web/test/smoke/src/steps/002_login.js +++ b/services/web/test/smoke/src/steps/002_login.js @@ -22,7 +22,7 @@ async function run({ assertHasStatusCode, loginCsrfToken, request }) { } async function cleanup({ assertHasStatusCode, getCsrfTokenFor, request }) { - const logoutCsrfToken = await getCsrfTokenFor('/logout') + const logoutCsrfToken = await getCsrfTokenFor('/project') const response = await request('/logout', { method: 'POST', headers: {