[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