# HG changeset patch # User Paul Boddie # Date 1445004843 -7200 # Node ID d3f276fb7b289fc27f793a2b21ac7ff6bd8e9fd5 # Parent 4530fda4bc4f8de0fa535e360d8da62d2bebae2d When handling COUNTER messages, only handle information from the sending attendee, do not reset participation status generally, and register the counter-proposal only for the sending attendee. diff -r 4530fda4bc4f -r d3f276fb7b28 imiptools/handlers/person.py --- a/imiptools/handlers/person.py Fri Oct 16 16:11:43 2015 +0200 +++ b/imiptools/handlers/person.py Fri Oct 16 16:14:03 2015 +0200 @@ -87,20 +87,18 @@ (organiser, organiser_attr), attendees = oa - # The responding attendee is regarded as not attending. - - for attendee, attendee_attr in attendees.items(): - attendee_attr["PARTSTAT"] = "DECLINED" + # Update the attendance for the sender. - # Update this attendance. + attendee = self.get_sending_attendee() + if not attendee: + return False - if self.merge_attendance(attendees): - self.update_freebusy_from_attendees(attendees) + if self.merge_attendance({attendee : attendees[attendee]}): + self.update_freebusy_from_attendees([attendee]) # Queue any counter-proposal for perusal. - for attendee in attendees.keys(): - self.store.set_counter(self.user, attendee, self.obj.to_node(), self.uid, self.recurrenceid) + self.store.set_counter(self.user, attendee, self.obj.to_node(), self.uid, self.recurrenceid) self.store.queue_request(self.user, self.uid, self.recurrenceid, "COUNTER") return True