Add locale to user model

This commit is contained in:
rubenwardy
2022-01-22 20:47:43 +00:00
parent d4903f04f1
commit 7b4254da58
4 changed files with 41 additions and 8 deletions

View File

@@ -121,16 +121,19 @@ def page_not_found(e):
@babel.localeselector
def get_locale():
if not request:
return None
locales = app.config["LANGUAGES"].keys()
if request:
locale = request.cookies.get("locale")
if locale in locales:
return locale
if current_user.is_authenticated and current_user.locale in locales:
return current_user.locale
return request.accept_languages.best_match(locales)
locale = request.cookies.get("locale")
if locale in locales:
return locale
return None
return request.accept_languages.best_match(locales)
@app.route("/set-locale/", methods=["POST"])
@@ -152,4 +155,8 @@ def set_locale():
expire_date = expire_date + datetime.timedelta(days=5*365)
resp.set_cookie("locale", locale, expires=expire_date)
if current_user.is_authenticated:
current_user.locale = locale
models.db.session.commit()
return resp