diff -r 5594aadb740e -r 6cb91be7707f server/repository.py --- 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)