[Erp5-report] r40845 arnaud.fontaine - /erp5/trunk/products/ERP5/Document/BusinessTemplate.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Nov 29 10:47:49 CET 2010


Author: arnaud.fontaine
Date: Mon Nov 29 10:47:49 2010
New Revision: 40845

URL: http://svn.erp5.org?rev=40845&view=rev
Log:
Fix the infinite recursion when solving Portal Types dependencies in a
better way than an plain assert

Modified:
    erp5/trunk/products/ERP5/Document/BusinessTemplate.py

Modified: erp5/trunk/products/ERP5/Document/BusinessTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/BusinessTemplate.py?rev=40845&r1=40844&r2=40845&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] Mon Nov 29 10:47:49 2010
@@ -1896,8 +1896,12 @@ class PortalTypeTemplateItem(ObjectTempl
         else:
           portal_type = klass.__name__
         depend = path_dict.get(portal_type)
-        # Prevent infinite recursion
-        assert depend != path
+        # Prevent infinite recursion for 'portal_types/Base Type',
+        # only relevant with Portal Types classes because 'Base Type'
+        # is an 'erp5.portal_type.Base Type' class
+        if depend == path:
+          assert depend == 'portal_types/Base Type'
+          return 0, path
         cache[path] = score = depend and 1 + solveDependency(depend)[0] or 0
       return score, path
     PersistentMigrationMixin._no_migration += 1




More information about the Erp5-report mailing list