Livesync: Ignore updates for deleted items

This commit is contained in:
Adrian Moennich 2015-03-12 13:56:49 +01:00
parent 0ab12235b6
commit ab6daa662e

View File

@ -153,11 +153,14 @@ def _register_deletion(obj, parent):
def _register_change(obj, action):
if isinstance(obj, Conference) and (ConferenceHolder().getById(obj.id, True) is None or obj.getOwner() is None):
# When deleting an event we get data change signals afterwards. We can simple ignore them.
# When moving an event it's even worse, we get a data change notification in the middle of the move while the
# event has no category...
return
if not isinstance(obj, Category):
event = obj.getConference()
if event is None or ConferenceHolder().getById(event.id, True) is None or event.getOwner() is None:
# When deleting an event we get data change signals afterwards. We can simple ignore them.
# When moving an event it's even worse, we get a data change notification in the middle of the move while
# the event has no category...
# Also, ACL changes during user merges might involve deleted objects which we also don't care about
return
_init_livesync_g()
g.livesync_changes[obj_ref(obj)].add(action)