1.1 --- a/imiptools/handlers/person_outgoing.py Thu Mar 05 15:26:50 2015 +0100
1.2 +++ b/imiptools/handlers/person_outgoing.py Thu Mar 05 16:30:13 2015 +0100
1.3 @@ -62,6 +62,11 @@
1.4
1.5 self.store.set_event(identity, self.uid, self.recurrenceid, self.obj.to_node())
1.6
1.7 + # Remove additional recurrences if handling a complete event.
1.8 +
1.9 + if not self.recurrenceid:
1.10 + self.store.remove_recurrences(identity, self.uid)
1.11 +
1.12 else:
1.13 organiser_item, attendees = self.require_organiser_and_attendees(from_organiser)
1.14 self.merge_attendance(attendees, identity)
1.15 @@ -82,8 +87,7 @@
1.16
1.17 # Use the stored event in case the reply is incomplete, as is seen
1.18 # when Claws sends a REPLY for an object originally employing
1.19 - # recurrence information. Additionally, parent object details will
1.20 - # also be consulted if available.
1.21 + # recurrence information.
1.22
1.23 obj = self.get_object(identity)
1.24
1.25 @@ -95,12 +99,11 @@
1.26 self.update_freebusy_for_participant(freebusy, periods, attr,
1.27 from_organiser and self.is_not_attendee(identity, obj))
1.28
1.29 - # Subtract any recurrences from the free/busy details of a parent
1.30 - # object.
1.31 + # Remove either original recurrence or additional recurrence
1.32 + # details depending on whether an additional recurrence or a
1.33 + # complete event are being handled, respectively.
1.34
1.35 - for recurrenceid in self.store.get_recurrences(identity, self.uid):
1.36 - remove_affected_period(freebusy, self.uid, recurrenceid)
1.37 -
1.38 + self.remove_freebusy_for_recurrences(freebusy)
1.39 self.store.set_freebusy(identity, freebusy)
1.40
1.41 if self.publisher: