# HG changeset patch # User Paul Boddie # Date 1432227414 -7200 # Node ID 09f117e6086e7fbe8205d31a653b73c687b8abbf # Parent 455ed923ca03ef60d2986f362664c5fee299df29 Fixed free/busy removal, also defining organiser attendance to fix updates of the recipient's record of the organiser's schedule. diff -r 455ed923ca03 -r 09f117e6086e imiptools/handlers/person.py --- a/imiptools/handlers/person.py Thu May 21 18:48:10 2015 +0200 +++ b/imiptools/handlers/person.py Thu May 21 18:56:54 2015 +0200 @@ -53,6 +53,14 @@ if not self.have_new_object() or not self.is_attendee(self.user): return False + # Indicate the organiser's implicit attendance if mentioned in the + # cancellation message. + + if cancel: + obj_attendees = self.obj.get_value_map("ATTENDEE") + if obj_attendees.has_key(organiser): + obj_attendees[organiser]["PARTSTAT"] = "DECLINED" + # Set the complete event or an additional occurrence. self.store.set_event(self.user, self.uid, self.recurrenceid, self.obj.to_node()) @@ -81,7 +89,9 @@ # information, so this is done here using outgoing message # functionality. - self.remove_event_from_freebusy(from_organiser) + self.remove_event_from_freebusy() + + # Update the recipient's record of the organiser's schedule. self.update_freebusy_from_organiser(organiser_item)