[Erp5-report] r16280 - /erp5/trunk/products/ERP5Form/PreferenceTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Sep 12 10:39:03 CEST 2007


Author: jerome
Date: Wed Sep 12 10:39:03 2007
New Revision: 16280

URL: http://svn.erp5.org?rev=16280&view=rev
Log:
user_name= was just passed to make the cache vary, instead generate a cache key
containing user name, so that user_name parameter is not mixed with standard
parameters.
Don't pass positional arguments to searchFolder, because it does not support
any.


Modified:
    erp5/trunk/products/ERP5Form/PreferenceTool.py

Modified: erp5/trunk/products/ERP5Form/PreferenceTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/PreferenceTool.py?rev=16280&r1=16279&r2=16280&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/PreferenceTool.py (original)
+++ erp5/trunk/products/ERP5Form/PreferenceTool.py Wed Sep 12 10:39:03 2007
@@ -124,7 +124,7 @@
     self._null = (None, '', (), [])
 
   def __call__(self, instance, *args, **kw):
-    def _getPreference(user_name=None, *args, **kw):
+    def _getPreference(*args, **kw):
       value = None
       for pref in instance._getSortedPreferenceList(*args, **kw):
         value = getattr(pref, self._preference_name, _marker)
@@ -136,10 +136,10 @@
             break
       return value
     _getPreference = CachingMethod(_getPreference,
-            id=self._preference_cache_id,
+            id='%s.%s' % (self._preference_cache_id,
+                          getSecurityManager().getUser().getId()),
             cache_factory='erp5_ui_short')
-    user_name = getSecurityManager().getUser().getId()
-    value = _getPreference(user_name=user_name, *args, **kw)
+    value = _getPreference(*args, **kw)
     # XXX Preference Tool has a strange assumption that, even if
     # all values are null values, one of them must be returned.
     # Therefore, return a default value, only if explicitly specified,
@@ -210,7 +210,7 @@
     #                  or better solution
     user = getToolByName(self, 'portal_membership').getAuthenticatedMember()
     user_is_manager = 'Manager' in user.getRolesInContext(self)
-    for pref in self.searchFolder(portal_type='Preference', *args, **kw) :
+    for pref in self.searchFolder(portal_type='Preference', **kw) :
       pref = pref.getObject()
       if pref is not None and pref.getProperty('preference_state',
                                 'broken') in ('enabled', 'global'):




More information about the Erp5-report mailing list