Commit f940f234 authored by Jérome Perrin's avatar Jérome Perrin

PreferenceTool: simplify isAuthenticationPolicyEnabled

when erp5_authentication_policy is installed, a cached method is used,
when it's not installed we just return False. We don't need to wrap this
in another level of cache.
parent aced0684
...@@ -297,24 +297,12 @@ class PreferenceTool(BaseTool): ...@@ -297,24 +297,12 @@ class PreferenceTool(BaseTool):
This method exists here due to bootstrap issues. This method exists here due to bootstrap issues.
It should work even if erp5_authentication_policy bt5 is not installed. It should work even if erp5_authentication_policy bt5 is not installed.
""" """
# XXX: define an interface # isPreferredAuthenticationPolicyEnabled exisss if property sheets from
def _isAuthenticationPolicyEnabled(): # erp5_authentication_policy are installed.
portal_preferences = self.getPortalObject().portal_preferences method = getattr(self, 'isPreferredAuthenticationPolicyEnabled', None)
method_id = 'isPreferredAuthenticationPolicyEnabled'
method = getattr(self, method_id, None)
if method is not None and method(): if method is not None and method():
return True return True
# if it does not exist, for sure authentication policy is not enabled.
return False return False
tv = getTransactionalVariable()
tv_key = 'PreferenceTool._isAuthenticationPolicyEnabled.%s' % getSecurityManager().getUser().getId()
if tv.get(tv_key, None) is None:
_isAuthenticationPolicyEnabled = CachingMethod(_isAuthenticationPolicyEnabled,
id='PortalPreferences_isAuthenticationPolicyEnabled',
cache_factory='erp5_content_short')
tv[tv_key] = _isAuthenticationPolicyEnabled()
return tv[tv_key]
InitializeClass(PreferenceTool) InitializeClass(PreferenceTool)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment