From ae106cbd11ec3b3bc22cba56c4bc74ab2352e28b Mon Sep 17 00:00:00 2001 From: lewis <747342561@qq.com> Date: Fri, 30 Jul 2021 11:32:07 +0800 Subject: [PATCH 1/2] fix-177 --- routers/user/auth.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/routers/user/auth.go b/routers/user/auth.go index fe49b7b12..a2620c475 100755 --- a/routers/user/auth.go +++ b/routers/user/auth.go @@ -535,17 +535,21 @@ func handleSignInFull(ctx *context.Context, u *models.User, remember bool, obeyR log.Error("Unable to store session: %v", err) } - // Language setting of the user use the one previously set - if len(ctx.GetCookie("lang")) != 0 { - u.Language = ctx.GetCookie("lang") - } // If the user does not have a locale set, we save the current one. if len(u.Language) == 0 { - u.Language = ctx.Locale.Language() + if len(ctx.GetCookie("lang")) != 0 { + u.Language = ctx.GetCookie("lang") + } else { + u.Language = ctx.Locale.Language() + } + if err := models.UpdateUserCols(u, "language"); err != nil { log.Error(fmt.Sprintf("Error updating user language [user: %d, locale: %s]", u.ID, u.Language)) return setting.AppSubURL + "/" } + } else { + // Language setting of the user use the one previously set + u.Language = ctx.GetCookie("lang") } ctx.SetCookie("lang", u.Language, nil, setting.AppSubURL, setting.SessionConfig.Domain, setting.SessionConfig.Secure, true) From f8ac785e4f5df6f528ce44be921e3e11f1450f6d Mon Sep 17 00:00:00 2001 From: lewis <747342561@qq.com> Date: Fri, 30 Jul 2021 11:34:07 +0800 Subject: [PATCH 2/2] add --- routers/user/auth.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/routers/user/auth.go b/routers/user/auth.go index a2620c475..dc5c5536b 100755 --- a/routers/user/auth.go +++ b/routers/user/auth.go @@ -549,7 +549,9 @@ func handleSignInFull(ctx *context.Context, u *models.User, remember bool, obeyR } } else { // Language setting of the user use the one previously set - u.Language = ctx.GetCookie("lang") + if len(ctx.GetCookie("lang")) != 0 { + u.Language = ctx.GetCookie("lang") + } } ctx.SetCookie("lang", u.Language, nil, setting.AppSubURL, setting.SessionConfig.Domain, setting.SessionConfig.Secure, true)