server/repository.py
changeset 4984 6cb91be7707f
parent 4958 665eacdd8c50
parent 4973 1e6536afa855
child 5030 5238d9a8dfee
--- a/server/repository.py	Wed Mar 24 08:40:21 2010 +0100
+++ b/server/repository.py	Wed Mar 24 08:42:49 2010 +0100
@@ -1003,7 +1003,11 @@
         # init edited_attributes before calling before_add_entity hooks
         entity._is_saved = False # entity has an eid but is not yet saved
         entity.edited_attributes = set(entity)
-        entity = entity.pre_add_hook()
+        entity_ = entity.pre_add_hook()
+        # XXX kill that transmutation feature !
+        if not entity_ is entity:
+            entity.__class__ = entity_.__class__
+            entity.__dict__.update(entity_.__dict__)
         eschema = entity.e_schema
         etype = str(eschema)
         source = self.locate_etype_source(etype)