[Erp5-report] r43121 arnaud.fontaine - /erp5/trunk/products/ERP5Type/dynamic/

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Feb 7 11:22:28 CET 2011


Author: arnaud.fontaine
Date: Mon Feb  7 11:22:28 2011
New Revision: 43121

URL: http://svn.erp5.org?rev=43121&view=rev
Log:
Category Tool and Base Category portal types were missing
BaseAccessorHolder in their bases, thus related accessors were not
properly generated


Modified:
    erp5/trunk/products/ERP5Type/dynamic/accessor_holder.py
    erp5/trunk/products/ERP5Type/dynamic/portal_type_class.py

Modified: erp5/trunk/products/ERP5Type/dynamic/accessor_holder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/dynamic/accessor_holder.py?rev=43121&r1=43120&r2=43121&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/dynamic/accessor_holder.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/dynamic/accessor_holder.py [utf8] Mon Feb  7 11:22:28 2011
@@ -111,10 +111,8 @@ class AccessorHolderType(type):
     InitializeClass(accessor_holder_class)
     return accessor_holder_class
 
-
-generating_base_accessor_holder = False
 def _generateBaseAccessorHolder(portal,
-    accessor_holder_module):
+                                accessor_holder_module):
   """
   Create once an accessor holder that contains all accessors common to
   all portal types: erp5.accessor_holder.BaseAccessorHolder
@@ -136,15 +134,9 @@ def _generateBaseAccessorHolder(portal,
   if accessor_holder is not None:
     return accessor_holder
 
-  global generating_base_accessor_holder
-  if generating_base_accessor_holder:
-    # can cause recursion, as accessing categories generates category properties
-    return None
-  generating_base_accessor_holder = True
-
+  # When setting up the site, there will be no portal_categories
   portal_categories = getattr(portal, 'portal_categories', None)
   if portal_categories is None:
-    generating_base_accessor_holder = False
     return None
 
   base_category_list = portal_categories.objectIds()
@@ -163,7 +155,6 @@ def _generateBaseAccessorHolder(portal,
                       'erp5.accessor_holder',
                       initialize=False)
   setattr(accessor_holder_module, base_accessor_holder_id, accessor_holder)
-  generating_base_accessor_holder = False
   return accessor_holder
 
 def _generatePreferenceToolAccessorHolder(portal, accessor_holder_list,
@@ -212,4 +203,3 @@ def _generatePreferenceToolAccessorHolde
                       initialize=False)
   setattr(accessor_holder_module, 'PreferenceTool', accessor_holder)
   return accessor_holder
-

Modified: erp5/trunk/products/ERP5Type/dynamic/portal_type_class.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/dynamic/portal_type_class.py?rev=43121&r1=43120&r2=43121&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/dynamic/portal_type_class.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/dynamic/portal_type_class.py [utf8] Mon Feb  7 11:22:28 2011
@@ -70,13 +70,10 @@ def _createAccessorHolderList(site,
   accessor_holder_list = []
 
   if "Base" in property_sheet_name_set:
-    accessor_holder_class = None
-
     # useless if Base Category is not yet here or if we're currently
     # generating accessors for Base Categories
-    if hasattr(erp5.accessor_holder, "BaseCategory"):
-      accessor_holder_class = _generateBaseAccessorHolder(site,
-                                                          erp5.accessor_holder)
+    accessor_holder_class = _generateBaseAccessorHolder(site,
+                                                        erp5.accessor_holder)
 
     if accessor_holder_class is not None:
       accessor_holder_list.append(accessor_holder_class)



More information about the Erp5-report mailing list