|
|
@@ -535,17 +535,23 @@ 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 |
|
|
|
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) |
|
|
|