# HG changeset patch # User Pierre-Yves David # Date 1343725023 -7200 # Node ID 75abcdc94f4ad2088c89107bf223b640a0a0bf12 # Parent bd4addfb6fd5e1d153808dbcd4de49d9dc67afdc [storage] relies on event=='deleted' to detect "delete" event When we delete a previously edited entity, it *will* have a cw_edited attribute even if the goal is to delete it. The function get an argument that explicitly contains the "delete" event. The code now uses that instead. diff -r bd4addfb6fd5 -r 75abcdc94f4a server/sources/native.py --- a/server/sources/native.py Tue Jul 31 11:19:11 2012 +0200 +++ b/server/sources/native.py Tue Jul 31 10:57:03 2012 +0200 @@ -613,12 +613,10 @@ etype = entities[0].__regid__ for attr, storage in self._storages.get(etype, {}).items(): for entity in entities: - try: + if event == 'deleted': + storage.entity_deleted(entity, attr) + else: edited = entity.cw_edited - except AttributeError: - assert event == 'deleted' - getattr(storage, 'entity_deleted')(entity, attr) - else: if attr in edited: handler = getattr(storage, 'entity_%s' % event) to_restore = handler(entity, attr)