server/sources/native.py
branchstable
changeset 5217 08e7fa906cdb
parent 5214 3285b6e3b930
child 5323 329b4f6d18b4
child 5410 3cccd5e9dd7d
--- a/server/sources/native.py	Mon Apr 12 15:11:23 2010 +0200
+++ b/server/sources/native.py	Mon Apr 12 15:15:00 2010 +0200
@@ -475,13 +475,15 @@
         etype = entity.__regid__
         for attr, storage in self._storages.get(etype, {}).items():
             try:
-                if attr in entity.edited_attributes:
+                edited = entity.edited_attributes
+            except AttributeError:
+                assert event == 'deleted'
+                getattr(storage, 'entity_deleted')(entity, attr)
+            else:
+                if attr in edited:
                     handler = getattr(storage, 'entity_%s' % event)
                     real_value = handler(entity, attr)
                     restore_values[attr] = real_value
-            except AttributeError:
-                assert event == 'deleted'
-                getattr(storage, 'entity_deleted')(entity, attr)
         try:
             yield # 2/ execute the source's instructions
         finally: