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

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Aug 5 18:21:24 CEST 2009


Author: luke
Date: Wed Aug  5 18:21:24 2009
New Revision: 28291

URL: http://svn.erp5.org?rev=28291&view=rev
Log:
 - add private method to return preference by portal type
 - add getActiveSystemPreference to fetch only System Preference
 - update getActivePreference to return only Preference
 - update test to check for getActiveSystemPreference and getActivePreference behaviour

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=28291&r1=28290&r2=28291&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/PreferenceTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/PreferenceTool.py [utf8] Wed Aug  5 18:21:24 2009
@@ -239,13 +239,27 @@
     sys_prefs.sort(key=lambda x: x.getPriority(), reverse=True)
     return sys_prefs + prefs
 
+  def _getActivePreferenceByPortalType(self, portal_type):
+    enabled_prefs = self._getSortedPreferenceList()
+    if len(enabled_prefs) > 0 :
+      try:
+        return [x for x in enabled_prefs
+            if x.getPortalType() == portal_type][0]
+      except IndexError:
+        pass
+    return None
+
   security.declareProtected(Permissions.View, 'getActivePreference')
   def getActivePreference(self) :
     """ returns the current preference for the user.
        Note that this preference may be read only. """
-    enabled_prefs = self._getSortedPreferenceList()
-    if len(enabled_prefs) > 0 :
-      return enabled_prefs[0]
+    return self._getActivePreferenceByPortalType('Preference')
+
+  security.declareProtected(Permissions.View, 'getActiveSystemPreference')
+  def getActiveSystemPreference(self) :
+    """ returns the current system preference for the user.
+       Note that this preference may be read only. """
+    return self._getActivePreferenceByPortalType('System Preference')
 
   security.declareProtected(Permissions.View, 'getDocumentTemplateList')
   def getDocumentTemplateList(self, folder=None) :

Modified: erp5/trunk/products/ERP5Form/tests/testPreferences.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/tests/testPreferences.py?rev=28291&r1=28290&r2=28291&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/tests/testPreferences.py [utf8] (original)
+++ erp5/trunk/products/ERP5Form/tests/testPreferences.py [utf8] Wed Aug  5 18:21:24 2009
@@ -470,6 +470,7 @@
     # even if there is System Preference enabled getActivePreference shall return
     # user preference
     self.assertEqual(user_pref, preference_tool.getActivePreference())
+    self.assertEqual(site_pref, preference_tool.getActiveSystemPreference())
 
 def test_suite():
   suite = unittest.TestSuite()




More information about the Erp5-report mailing list