[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