[Erp5-report] r45306 luke - /erp5/trunk/products/ERP5/Document/BusinessTemplate.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Apr 12 09:36:59 CEST 2011
Author: luke
Date: Tue Apr 12 09:36:59 2011
New Revision: 45306
URL: http://svn.erp5.org?rev=45306&view=rev
Log:
- follow dynamical behaviour of PropertySheetTemplateItem.preinstall and apply
required magic on genereted result in dynamic method instead of overriding it
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=45306&r1=45305&r2=45306&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/BusinessTemplate.py [utf8] Tue Apr 12 09:36:59 2011
@@ -3541,10 +3541,18 @@ class PropertySheetTemplateItem(Document
"""
def inner(self, *args, **kw):
if self._is_already_migrated(getattr(self, object_dict_name).keys()):
- return getattr(ObjectTemplateItem, method_name)(self, *args, **kw)
+ result = getattr(ObjectTemplateItem, method_name)(self, *args, **kw)
else:
- return getattr(DocumentTemplateItem, method_name)(self, *args, **kw)
-
+ result = getattr(DocumentTemplateItem, method_name)(self, *args, **kw)
+ if method_name == 'preinstall':
+ old_result = result.copy()
+ for k, v in old_result.iteritems():
+ if not k.startswith('portal_property_sheets/'):
+ # Magical way to have unique path in case of not yet migrated property
+ # sheets available on preinstall list
+ k = self._getKey(k)
+ result[k] = v
+ return result
return inner
export = _filesystemCompatibilityWrapper('export', '_objects')
@@ -3700,17 +3708,6 @@ class PropertySheetTemplateItem(Document
kw['remove_object_dict'] = new_remove_dict
ObjectTemplateItem.remove(self, context, **kw)
- def preinstall(self, *args, **kwargs):
- preinstall_dict = ObjectTemplateItem.preinstall(self, *args, **kwargs)
- new_preinstall_dict = dict()
- for k, v in preinstall_dict.iteritems():
- if not k.startswith('portal_property_sheets/'):
- # Magical way to have unique path in case of not yet migrated property
- # sheets available on preinstall list
- k = self._getKey(k)
- new_preinstall_dict[k] = v
- return new_preinstall_dict
-
def install(self, context, **kw):
if not self._perform_migration:
return DocumentTemplateItem.install(self, context, **kw)
More information about the Erp5-report
mailing list