[Erp5-report] r42239 nicolas.dumazet - in /erp5/trunk/products/ERP5Type: ./ Tool/
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Jan 12 04:46:03 CET 2011
Author: nicolas.dumazet
Date: Wed Jan 12 04:46:02 2011
New Revision: 42239
URL: http://svn.erp5.org?rev=42239&view=rev
Log:
fix migrateToPortalTypeClass so that migration is persistent.
Previously, the migration would work, but changes would not be recorded in the
ZODB.
Modified:
erp5/trunk/products/ERP5Type/Base.py
erp5/trunk/products/ERP5Type/Tool/BaseTool.py
Modified: erp5/trunk/products/ERP5Type/Base.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Base.py?rev=42239&r1=42238&r2=42239&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Base.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Base.py [utf8] Wed Jan 12 04:46:02 2011
@@ -3878,6 +3878,10 @@ class Base( CopyContainer,
newklass = getattr(erp5.portal_type, portal_type)
assert klass != newklass
self.__class__ = newklass
+ self._p_changed = True
+ # this might look useless, but it is necessary to explicitely record
+ # the change in the parent container, because the class has changed
+ setattr(self.getParentValue(), self.getId(), self)
security.declareProtected(Permissions.DeletePortalContent,
'migratePortalType')
Modified: erp5/trunk/products/ERP5Type/Tool/BaseTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Tool/BaseTool.py?rev=42239&r1=42238&r2=42239&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Tool/BaseTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Tool/BaseTool.py [utf8] Wed Jan 12 04:46:02 2011
@@ -96,7 +96,7 @@ class BaseTool (UniqueObject, Folder):
from Products.ERP5Type import document_class_registry
document_class_name = portal_type.replace(' ', '')
if document_class_name in document_class_registry:
- type_definition.setTypeClass(document_class_name)
+ type_definition.type_class = document_class_name
else:
from Products.ERP5.Document.Document import NotConvertedError
raise NotConvertedError(
More information about the Erp5-report
mailing list