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

nobody at svn.erp5.org nobody at svn.erp5.org
Sun Dec 31 17:07:23 CET 2006


Author: jp
Date: Sun Dec 31 17:07:22 2006
New Revision: 11814

URL: http://svn.erp5.org?rev=11814&view=rev
Log:
Fixed dynamic preference generation system.

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=11814&r1=11813&r2=11814&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/PreferenceTool.py (original)
+++ erp5/trunk/products/ERP5Form/PreferenceTool.py Sun Dec 31 17:07:22 2006
@@ -38,37 +38,16 @@
 from Products.ERP5Type.Base import Base
 from Products.ERP5Type.Utils import convertToUpperCase
 from Products.ERP5Type.Accessor.TypeDefinition import list_types
-from Products.ERP5Form.Document.Preference import Preference
 from Products.ERP5Form import _dtmldir
 from Products.ERP5Form.Document.Preference import Priority
 
 
 class func_code: pass
 
-def createPreferenceMethods(portal) :
-  """
-    Initialize all Preference methods on the preference tool.
-    This method must be called on startup.
-
-    This tool is capable of updating the list of Preference
-    property sheets by looking at all registered property sheets
-    and considering those which name ends with 'Preference'
-  """
-  attr_list = []
-  typestool = getToolByName(portal, 'portal_types')
-  pref_portal_type = typestool.getTypeInfo('Preference')
-  if pref_portal_type is None:
-    LOG('createPreferenceMethods', PROBLEM,
-           'Preference type information is not installed.')
-  # 'Dynamic' property sheets added through ZMI
-  zmi_property_sheet_list = []
-  for property_sheet in pref_portal_type.property_sheet_list :
-    try:
-      zmi_property_sheet_list.append(
-                  getattr(__import__(property_sheet), property_sheet))
-    except ImportError, e :
-      LOG('createPreferenceMethods', PROBLEM,
-           'unable to import Property Sheet %s' % property_sheet, e)
+def updatePreferenceClassPropertySheetList():
+  # The Preference class should be imported from the common location
+  # in ERP5Type since it could be overloaded in another product
+  from Products.ERP5Type.Document.Preference import Preference
   # 'Static' property sheets defined on the class
   class_property_sheet_list = Preference.property_sheets
   # Time to lookup for preferences defined on other modules
@@ -80,6 +59,36 @@
         property_sheets.append(ps)
   class_property_sheet_list = tuple(property_sheets)
   Preference.property_sheets = class_property_sheet_list
+
+def createPreferenceToolAccessorList(portal) :
+  """
+    Initialize all Preference methods on the preference tool.
+    This method must be called on startup.
+
+    This tool is capable of updating the list of Preference
+    property sheets by looking at all registered property sheets
+    and considering those which name ends with 'Preference'
+  """
+  attr_list = []
+  typestool = getToolByName(portal, 'portal_types')
+  pref_portal_type = typestool.getTypeInfo('Preference')
+  if pref_portal_type is None:
+    LOG('createPreferenceToolAccessor', PROBLEM,
+           'Preference type information is not installed.')
+  # 'Dynamic' property sheets added through ZMI
+  zmi_property_sheet_list = []
+  for property_sheet in pref_portal_type.property_sheet_list :
+    try:
+      zmi_property_sheet_list.append(
+                  getattr(__import__(property_sheet), property_sheet))
+    except ImportError, e :
+      LOG('createPreferenceToolAccessor', PROBLEM,
+           'unable to import Property Sheet %s' % property_sheet, e)
+  # 'Static' property sheets defined on the class
+  # The Preference class should be imported from the common location
+  # in ERP5Type since it could be overloaded in another product
+  from Products.ERP5Type.Document.Preference import Preference
+  class_property_sheet_list = Preference.property_sheets
   # We can now merge
   for property_sheet in ( tuple(zmi_property_sheet_list) +
                                 class_property_sheet_list ) :




More information about the Erp5-report mailing list