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:
parent
286222f7f6
commit
9096426b18
|
@ -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 = {}
|
||||
|
|
Reference in New Issue