[Erp5-report] r42866 nicolas.dumazet - /erp5/trunk/products/ERP5Type/dynamic/
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Feb 1 06:02:55 CET 2011
Author: nicolas.dumazet
Date: Tue Feb 1 06:02:55 2011
New Revision: 42866
URL: http://svn.erp5.org?rev=42866&view=rev
Log:
documentation and naming.
Modified:
erp5/trunk/products/ERP5Type/dynamic/accessor_holder.py
Modified: erp5/trunk/products/ERP5Type/dynamic/accessor_holder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/dynamic/accessor_holder.py?rev=42866&r1=42865&r2=42866&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/dynamic/accessor_holder.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/dynamic/accessor_holder.py [utf8] Tue Feb 1 06:02:55 2011
@@ -112,9 +112,22 @@ class AccessorHolderType(type):
return accessor_holder_class
-generating_base_accessors = False
+generating_base_accessor_holder = False
def _generateBaseAccessorHolder(portal,
accessor_holder_module):
+ """
+ Create once an accessor holder that contains all accessors common to
+ all portal types: erp5.accessor_holder.BaseAccessorHolder
+
+ * Related category accessors are generated here.
+ In the future we would like as well:
+ * the has.*Property accessors
+ * the is.*Type group accessors
+
+ It's important to remember that this accessor holder will be the last
+ class added to a portal type class, and that it will always be added,
+ to all living ERP5 objects.
+ """
base_accessor_holder_id = 'BaseAccessorHolder'
accessor_holder = getattr(accessor_holder_module,
@@ -123,15 +136,15 @@ def _generateBaseAccessorHolder(portal,
if accessor_holder is not None:
return accessor_holder
- global generating_base_accessors
- if generating_base_accessors:
+ global generating_base_accessor_holder
+ if generating_base_accessor_holder:
# can cause recursion, as accessing categories generates category properties
return None
- generating_base_accessors = True
+ generating_base_accessor_holder = True
portal_categories = getattr(portal, 'portal_categories', None)
if portal_categories is None:
- generating_base_accessors = False
+ generating_base_accessor_holder = False
return None
base_category_list = portal_categories.objectIds()
@@ -150,11 +163,18 @@ def _generateBaseAccessorHolder(portal,
'erp5.accessor_holder',
initialize=False)
setattr(accessor_holder_module, base_accessor_holder_id, accessor_holder)
- generating_base_accessors = False
+ generating_base_accessor_holder = False
return accessor_holder
def _generatePreferenceToolAccessorHolder(portal, accessor_holder_list,
accessor_holder_module):
+ """
+ Generate a specific Accessor Holder that will be put on the Preference Tool.
+ (This used to happen in ERP5Form.PreferenceTool._aq_dynamic)
+
+ We iterate over all properties that do exist on the system, select the
+ preferences out of those, and generate the getPreferred.* accessors.
+ """
property_holder = PropertyHolder('PreferenceTool')
from Products.ERP5Type.Accessor.TypeDefinition import list_types
More information about the Erp5-report
mailing list