# HG changeset patch # User Paul Boddie # Date 1428411880 -7200 # Node ID ee88484498222bf973bdc18142d0389ba9af3f42 # Parent 7283955e2884e1e375b19f1cb32d5e15e3009f10 Only remove an event from the free/busy record if cancelling the whole thing, not if only removing attendees. diff -r 7283955e2884 -r ee8848449822 imiptools/handlers/person_outgoing.py --- a/imiptools/handlers/person_outgoing.py Tue Apr 07 14:46:58 2015 +0200 +++ b/imiptools/handlers/person_outgoing.py Tue Apr 07 15:04:40 2015 +0200 @@ -134,8 +134,9 @@ attendees = uri_dict(obj.get_value_map("ATTENDEE")) all_attendees = set(attendees.keys()) given_attendees = set(uri_values(self.obj.get_values("ATTENDEE"))) + cancel_entire_event = given_attendees == all_attendees - if given_attendees == all_attendees: + if cancel_entire_event: self.store.cancel_event(self.user, self.uid, self.recurrenceid) # Otherwise, remove the given attendees and update the event. @@ -164,7 +165,9 @@ if update_freebusy: freebusy = self.store.get_freebusy(self.user) self.remove_from_freebusy(freebusy) - self.store.set_freebusy(self.user, freebusy) + + if cancel_entire_event: + self.store.set_freebusy(self.user, freebusy) if self.publisher and self.is_sharing(): self.publisher.set_freebusy(self.user, freebusy)