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())