# HG changeset patch # User Paul Boddie # Date 1445554138 -7200 # Node ID 6b6853ba8757210c8b149eb17e5aff2e105c3097 # Parent 6e55d2ac7b401927243552fa48d92dd0b07cbb9a Create specific recurrences in order to cancel them. Modify the organiser's free/busy records for attendees when cancelling events. diff -r 6e55d2ac7b40 -r 6b6853ba8757 imiptools/handlers/person.py --- a/imiptools/handlers/person.py Fri Oct 23 00:26:46 2015 +0200 +++ b/imiptools/handlers/person.py Fri Oct 23 00:48:58 2015 +0200 @@ -112,10 +112,12 @@ if organiser_item: organiser, organiser_attr = organiser_item if self.user == organiser: + self.store.set_event(self.user, self.uid, self.recurrenceid, self.obj.to_node()) self.store.cancel_event(self.user, self.uid, self.recurrenceid) self.store.dequeue_request(self.user, self.uid, self.recurrenceid) self.store.remove_counters(self.user, self.uid, self.recurrenceid) self.remove_event_from_freebusy() + self.remove_freebusy_from_attendees(uri_values(self.obj.get_values("ATTENDEE"))) return True return self._record(from_organiser=True, queue=False, cancel=True) diff -r 6e55d2ac7b40 -r 6b6853ba8757 imiptools/handlers/person_outgoing.py --- a/imiptools/handlers/person_outgoing.py Fri Oct 23 00:26:46 2015 +0200 +++ b/imiptools/handlers/person_outgoing.py Fri Oct 23 00:48:58 2015 +0200 @@ -197,6 +197,7 @@ if cancel_entire_event or self.user in given_attendees: self.remove_event_from_freebusy() + self.remove_freebusy_from_attendees(given_attendees) # Set the complete event if not an additional occurrence. For any newly- # indicated occurrence, use the received event details.