[Erp5-report] r15165 - /erp5/trunk/products/ERP5Type/Core/Folder.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Jul 6 18:49:00 CEST 2007


Author: vincent
Date: Fri Jul  6 18:48:59 2007
New Revision: 15165

URL: http://svn.erp5.org?rev=15165&view=rev
Log:
Make sure _edit is called even if the created object is a temp object.

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

Modified: erp5/trunk/products/ERP5Type/Core/Folder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Core/Folder.py?rev=15165&r1=15164&r2=15165&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Core/Folder.py (original)
+++ erp5/trunk/products/ERP5Type/Core/Folder.py Fri Jul  6 18:48:59 2007
@@ -101,26 +101,24 @@
       if not getattr(container, 'isTempObject', lambda: 0)():
         factory_name = 'newTemp%s' %(portal_type.replace(' ', ''))
         m = getattr(Document, factory_name)
-        return m(container, new_id)
-
-    myType = pt.getTypeInfo(container)
-    if myType is not None:
-      if not myType.allowType( portal_type ):
-        if not 'portal_trash' in container.getPhysicalPath():
-          raise ValueError('Disallowed subobject type: %s' % portal_type)
-
-    pt.constructContent( type_name=portal_type,
-                         container=container,
-                         id=new_id,
-                         created_by_builder=created_by_builder,
-                         activate_kw=activate_kw,
-                         is_indexable=is_indexable
-                         ) # **kw) removed due to CMF bug
-    # TODO :the **kw makes it impossible to create content not based on
-    # ERP5TypeInformation, because factory method often do not support
-    # keywords arguments.
-
-    new_instance = container[new_id]
+        new_instance = m(container, new_id)
+    else:
+      myType = pt.getTypeInfo(container)
+      if myType is not None and not myType.allowType( portal_type ) and \
+         'portal_trash' not in container.getPhysicalPath():
+        raise ValueError('Disallowed subobject type: %s' % portal_type)
+      pt.constructContent( type_name=portal_type,
+                           container=container,
+                           id=new_id,
+                           created_by_builder=created_by_builder,
+                           activate_kw=activate_kw,
+                           is_indexable=is_indexable
+                           ) # **kw) removed due to CMF bug
+      # TODO :the **kw makes it impossible to create content not based on
+      # ERP5TypeInformation, because factory method often do not support
+      # keywords arguments.
+      new_instance = container[new_id]
+
     if kw != {} : new_instance._edit(force_update=1, **kw)
     if immediate_reindex: new_instance.immediateReindexObject()
     return new_instance




More information about the Erp5-report mailing list