[Erp5-report] r7466 - /erp5/trunk/products/ERP5Form/PreferenceTool.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue May 23 22:11:11 CEST 2006
Author: jerome
Date: Tue May 23 22:11:01 2006
New Revision: 7466
URL: http://svn.erp5.org?rev=7466&view=rev
Log:
remove old getPreference implementation to call preference method
accessor (whose results are cached)
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=7466&r1=7465&r2=7466&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/PreferenceTool.py (original)
+++ erp5/trunk/products/ERP5Form/PreferenceTool.py Tue May 23 22:11:01 2006
@@ -27,6 +27,7 @@
##############################################################################
from AccessControl import ClassSecurityInfo, getSecurityManager
+from MethodObject import Method
from Globals import InitializeClass, DTMLFile
from zLOG import LOG, INFO, PROBLEM
@@ -40,7 +41,6 @@
from Products.ERP5Form import _dtmldir
from Products.ERP5Form.Document.Preference import Priority
-from MethodObject import Method
class func_code: pass
@@ -89,6 +89,7 @@
self._preference_name = attribute
def __call__(self, instance, *args, **kw) :
+ # FIXME: Preference method doesn't support default parameter
def _getPreference(user_name="") :
found = 0
MARKER = []
@@ -133,27 +134,10 @@
BaseTool.inheritedAttribute('manage_afterAdd')(self, item, container)
security.declareProtected(Permissions.View, "getPreference")
- def getPreference(self, pref_name) :
+ def getPreference(self, pref_name, default=None) :
""" get the preference on the most appopriate Preference object. """
- LOG("PreferenceTool", PROBLEM, 'calling getPreference directly on the '+
- 'tool is deprecated, no caching happens !')
- def _getPreference(pref_name="") :
- found = 0
- MARKER = []
- for pref in self._getSortedPreferenceList() :
- attr = getattr(pref, pref_name, MARKER)
- if attr is not MARKER :
- found = 1
- # test the attr is set
- if callable(attr) :
- value = attr()
- else :
- value = attr
- if value not in (None, '', (), []) :
- return attr
- if found :
- return value
- return _getPreference(pref_name=pref_name)
+ return getattr(self, 'get%s' %
+ convertToUpperCase(pref_name))(default=default)
security.declareProtected(Permissions.ModifyPortalContent, "setPreference")
def setPreference(self, pref_name, value) :
More information about the Erp5-report
mailing list