[Erp5-report] r41154 jm - in /erp5/trunk/products/ERP5Type: Core/Folder.py ERP5Type.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Dec 6 11:45:47 CET 2010


Author: jm
Date: Mon Dec  6 11:45:47 2010
New Revision: 41154

URL: http://svn.erp5.org?rev=41154&view=rev
Log:
Fix checking id of new temp objects

This fixes TestERP5Type.test_03_NewTempObject

Note this condition is useless for non-temporary objects,
because that _setObject already does many checks.

Modified:
    erp5/trunk/products/ERP5Type/Core/Folder.py
    erp5/trunk/products/ERP5Type/ERP5Type.py

Modified: erp5/trunk/products/ERP5Type/Core/Folder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Core/Folder.py?rev=41154&r1=41153&r2=41154&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Core/Folder.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Core/Folder.py [utf8] Mon Dec  6 11:45:47 2010
@@ -126,7 +126,9 @@ class FolderMixIn(ExtensionClass.Base):
 
     # The only case where the id is unused (because the new object is not added
     # to its parent) is when a temp object is created inside a non-temp object.
-    if id is None and (temp_container or not temp_object):
+    if id is '':
+      new_id = id
+    elif id is None and (temp_container or not temp_object):
       new_id_kw = {}
       if method is not None:
         new_id_kw['method'] = method

Modified: erp5/trunk/products/ERP5Type/ERP5Type.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/ERP5Type.py?rev=41154&r1=41153&r2=41154&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/ERP5Type.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/ERP5Type.py [utf8] Mon Dec  6 11:45:47 2010
@@ -336,9 +336,6 @@ class ERP5TypeInformation(XMLObject,
       Call the init_script for the portal_type.
       Returns the object.
       """
-      if id is None or len(id) == 0:
-        raise ValueError("invalid object id")
-
       if not temp_object and not self.isConstructionAllowed(container):
         raise AccessControl_Unauthorized('Cannot create %s' % self.getId())
 
@@ -349,6 +346,8 @@ class ERP5TypeInformation(XMLObject,
       ob = klass(id)
 
       if temp_object:
+        if id in (None, ''):
+          raise ValueError("invalid object id")
         ob = ob.__of__(container)
         for ignore in ('activate_kw', 'is_indexable', 'reindex_kw'):
           kw.pop(ignore, None)



More information about the Erp5-report mailing list