diff --git a/authentic/root.ptl b/authentic/root.ptl index 52b0265..99f2a79 100644 --- a/authentic/root.ptl +++ b/authentic/root.ptl @@ -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 = {}