[Erp5-report] r45106 gabriel - /erp5/trunk/products/ERP5Configurator/Document/

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Apr 5 19:15:33 CEST 2011


Author: gabriel
Date: Tue Apr  5 19:15:32 2011
New Revision: 45106

URL: http://svn.erp5.org?rev=45106&view=rev
Log:
refactor code to get a property from system preference activated when some property is not passed in configuration

Modified:
    erp5/trunk/products/ERP5Configurator/Document/SystemPreferenceConfiguratorItem.py

Modified: erp5/trunk/products/ERP5Configurator/Document/SystemPreferenceConfiguratorItem.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Configurator/Document/SystemPreferenceConfiguratorItem.py?rev=45106&r1=45105&r2=45106&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Configurator/Document/SystemPreferenceConfiguratorItem.py [utf8] (original)
+++ erp5/trunk/products/ERP5Configurator/Document/SystemPreferenceConfiguratorItem.py [utf8] Tue Apr  5 19:15:32 2011
@@ -96,7 +96,9 @@ class SystemPreferenceConfiguratorItem(C
 
   def build(self, business_configuration):
     portal = self.getPortalObject()
-    preference = portal.portal_preferences._getOb(self.object_id, None)
+    portal_preferences = portal.portal_preferences
+    preference = portal_preferences._getOb(self.object_id, None)
+    activated_preference = portal_preferences.getActiveSystemPreference()
     if preference is None:
       preference = portal.portal_preferences.newContent(
                                portal_type = 'System Preference',
@@ -108,12 +110,12 @@ class SystemPreferenceConfiguratorItem(C
     # XXX this have to be translated in user language.
     preference_dict = {}
 
-    marker = []
     for preference_name in self._getPreferenceNameList():
       preference_value = getattr(self, preference_name,
-                     preference.getProperty(preference_name, marker))
-      if preference_value is not marker:
-        preference_dict[preference_name] = preference_value
+                     preference.getProperty(preference_name))
+      if preference_value is None and activated_preference is not None:
+        preference_value = activated_preference.getProperty(preference_name)
+      preference_dict[preference_name] = preference_value
 
     preference.edit(**preference_dict)
     bt5_obj = business_configuration.getSpecialiseValue()



More information about the Erp5-report mailing list