[Erp5-report] r15695 - in /erp5/trunk/products/ERP5Form: ./ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Aug 16 11:12:20 CEST 2007


Author: jerome
Date: Thu Aug 16 11:12:20 2007
New Revision: 15695

URL: http://svn.erp5.org?rev=15695&view=rev
Log:
PreferenceTool.getPreference method now accepts a default parameter, for
consistency with other getters.


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

Modified: erp5/trunk/products/ERP5Form/PreferenceTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/PreferenceTool.py?rev=15695&r1=15694&r2=15695&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/PreferenceTool.py (original)
+++ erp5/trunk/products/ERP5Form/PreferenceTool.py Thu Aug 16 11:12:20 2007
@@ -175,8 +175,10 @@
   security.declareProtected(Permissions.View, "getPreference")
   def getPreference(self, pref_name, default=None) :
     """ get the preference on the most appopriate Preference object. """
-    return getattr(self, 'get%s' %
-        convertToUpperCase(pref_name))(default=default)
+    method = getattr(self, 'get%s' % convertToUpperCase(pref_name), None)
+    if method:
+      return method(default=default)
+    return default
 
   security.declareProtected(Permissions.ModifyPortalContent, "setPreference")
   def setPreference(self, pref_name, value) :

Modified: erp5/trunk/products/ERP5Form/tests/testPreferences.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testPreferences.py?rev=15695&r1=15694&r2=15695&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testPreferences.py (original)
+++ erp5/trunk/products/ERP5Form/tests/testPreferences.py Thu Aug 16 11:12:20 2007
@@ -205,6 +205,10 @@
     self.assertEquals(list(pref_tool.getPreference(
       'preferred_accounting_transaction_simulation_state_list')),
       list(group.getPreferredAccountingTransactionSimulationStateList()))
+
+    self.assertEquals('default', pref_tool.getPreference(
+                                        'this_does_not_exists', 'default'))
+
 
   def test_GetAttr(self, quiet=quiet, run=run_all_tests) :
     """ checks that preference methods can be called directly




More information about the Erp5-report mailing list