From ea96a68eb433280569cae379c2ef5a161aa06ea0 Mon Sep 17 00:00:00 2001 From: Florent Daigniere Date: Sun, 19 Dec 2021 20:25:11 +0100 Subject: [PATCH] don't create a session if we don't have to --- core/admin/mailu/sso/views/languages.py | 3 ++- core/admin/mailu/utils.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/core/admin/mailu/sso/views/languages.py b/core/admin/mailu/sso/views/languages.py index 66c09b1f..ff65af45 100644 --- a/core/admin/mailu/sso/views/languages.py +++ b/core/admin/mailu/sso/views/languages.py @@ -3,5 +3,6 @@ import flask @sso.route('/language/', methods=['POST']) def set_language(language=None): - flask.session['language'] = language + if language: + flask.session['language'] = language return flask.Response(status=200) diff --git a/core/admin/mailu/utils.py b/core/admin/mailu/utils.py index 755be013..9c56d0be 100644 --- a/core/admin/mailu/utils.py +++ b/core/admin/mailu/utils.py @@ -92,6 +92,8 @@ babel = flask_babel.Babel() @babel.localeselector def get_locale(): """ selects locale for translation """ + if not app.config['SESSION_COOKIE_NAME'] in flask.request.cookies: + return flask.request.accept_languages.best_match(app.config.translations.keys()) language = flask.session.get('language') if not language in app.config.translations: language = flask.request.accept_languages.best_match(app.config.translations.keys())