diff --git a/integrations/signout_test.go b/integrations/signout_test.go index 65957b244e636..c31c913070f5d 100644 --- a/integrations/signout_test.go +++ b/integrations/signout_test.go @@ -14,7 +14,7 @@ func TestSignOut(t *testing.T) { session := loginUser(t, "user2") - req := NewRequest(t, "GET", "/user/logout") + req := NewRequest(t, "POST", "/user/logout") session.MakeRequest(t, req, http.StatusFound) // try to view a private repo, should fail diff --git a/routers/routes/routes.go b/routers/routes/routes.go index 424c3f65f2cbc..3202c62d61867 100644 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -399,7 +399,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Post("/recover_account", user.ResetPasswdPost) m.Get("/forgot_password", user.ForgotPasswd) m.Post("/forgot_password", user.ForgotPasswdPost) - m.Get("/logout", user.SignOut) + m.Post("/logout", user.SignOut) }) // ***** END: User ***** diff --git a/templates/base/head_navbar.tmpl b/templates/base/head_navbar.tmpl index a09b4b832e77a..9e76853d46a48 100644 --- a/templates/base/head_navbar.tmpl +++ b/templates/base/head_navbar.tmpl @@ -109,7 +109,7 @@ {{end}}
- + {{.i18n.Tr "sign_out"}} diff --git a/web_src/js/index.js b/web_src/js/index.js index 062a3f7efee16..eeb6bbd8c0657 100644 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -2740,11 +2740,14 @@ function showAddAllPopup() { function linkAction() { const $this = $(this); + const redirect = $this.data('redirect'); $.post($this.data('url'), { _csrf: csrf }).done((data) => { if (data.redirect) { window.location.href = data.redirect; + } else if (redirect) { + window.location.href = redirect; } else { window.location.reload(); }