root: if the user has a preferred language, use it instead of the one from the request or the settings

This commit is contained in:
Benjamin Dauvergne 2014-01-09 13:09:32 +01:00
parent 286222f7f6
commit 9096426b18
1 changed files with 10 additions and 4 deletions

View File

@ -98,9 +98,10 @@ class RootDirectory(Directory):
cas = cas.CASDirectory()
def _q_traverse(self, path):
if get_request().environ.get('HTTPS') and not get_request().session.ssl and get_request().session.id:
request = get_request()
if request.environ.get('HTTPS') and not get_request().session.ssl and get_request().session.id:
get_session_manager().expire_session()
get_request().session = get_session_manager().get_session()
request.session = get_session_manager().get_session()
fn = os.path.join(get_publisher().app_dir, 'common_cookie')
if os.path.exists(fn):
# on special domain to set cookie, nothing else, let's change root
@ -109,9 +110,14 @@ class RootDirectory(Directory):
session = get_session()
if session:
get_request().user = session.get_user()
request.user = session.get_user()
else:
get_request().user = None
request.user = None
if request.user:
preferred_language = request.user.get_preferred_language()
if preferred_language:
request.language = preferred_language
get_publisher().install_lang(preferred_language)
response = get_response()
response.filter = {}