1.1 --- a/imiptools/handlers/person_outgoing.py Tue Apr 19 17:57:28 2016 +0200
1.2 +++ b/imiptools/handlers/person_outgoing.py Tue Apr 19 18:17:06 2016 +0200
1.3 @@ -120,14 +120,19 @@
1.4 self.store.remove_cancellation(self.user, self.uid, self.recurrenceid)
1.5
1.6 else:
1.7 - if not self.ensure_occurrence():
1.8 - return False
1.9 + # Occurrences that are still part of a parent object are separated,
1.10 + # attendance information transferred, and the free/busy details
1.11 + # updated.
1.12 +
1.13 + if self.is_newly_separated_occurrence():
1.14 + self.make_separate_occurrence(for_organiser=not from_organiser)
1.15
1.16 # Obtain valid attendees, merging their attendance with the stored
1.17 # object.
1.18
1.19 - attendees = self.require_attendees(from_organiser)
1.20 - self.merge_attendance(attendees)
1.21 + else:
1.22 + attendees = self.require_attendees(from_organiser)
1.23 + self.merge_attendance(attendees)
1.24
1.25 # Remove any associated request.
1.26