X-Git-Url: https://scm.cri.mines-paristech.fr/git/Plinn.git/blobdiff_plain/c15d698f84d77c34393d33dbe492d44694619010..3c4367d8e03450e9a73e61f4247145d2b6c86a33:/userlanguages.py diff --git a/userlanguages.py b/userlanguages.py index 8103d15..d108c40 100644 --- a/userlanguages.py +++ b/userlanguages.py @@ -1,14 +1,18 @@ # -*- coding: utf-8 -*- from zope.publisher.browser import BrowserLanguages from Products.CMFCore.utils import getUtilityByInterfaceName +from zope.component.interfaces import ComponentLookupError class AuthenticatedUserLanguages(BrowserLanguages): def getPreferredLanguages(self) : - mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool') + try : + mtool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IMembershipTool') + except ComponentLookupError : + return super(AuthenticatedUserLanguages, self).getPreferredLanguages() if mtool.isAnonymousUser() : return super(AuthenticatedUserLanguages, self).getPreferredLanguages() else : m = mtool.getAuthenticatedMember() - userLangs = m.getProperty('preferred_languages', []) + userLangs = m.getProperty('preferred_languages', [])[:] return userLangs or super(AuthenticatedUserLanguages, self).getPreferredLanguages()