1.1 --- a/imiptools/handlers/person.py Thu Sep 03 21:41:09 2015 +0200
1.2 +++ b/imiptools/handlers/person.py Thu Sep 03 21:50:57 2015 +0200
1.3 @@ -28,6 +28,43 @@
1.4
1.5 "Handling mechanisms specific to people."
1.6
1.7 + def _add(self, queue=True):
1.8 +
1.9 + "Add a recurrence for the current object."
1.10 +
1.11 + # Obtain valid organiser and attendee details.
1.12 +
1.13 + oa = self.require_organiser_and_attendees()
1.14 + if not oa:
1.15 + return False
1.16 +
1.17 + (organiser, organiser_attr), attendees = oa
1.18 +
1.19 + # Ignore unknown objects.
1.20 + # NOTE: We could issue a REFRESH to get such objects.
1.21 +
1.22 + if not self.get_stored_object_version():
1.23 + return
1.24 +
1.25 + # Record the event as a recurrence of the parent object.
1.26 +
1.27 + self.update_recurrenceid()
1.28 +
1.29 + # Queue any request, if appropriate.
1.30 +
1.31 + if queue:
1.32 + self.store.queue_request(self.user, self.uid, self.recurrenceid)
1.33 +
1.34 + # Update the recipient's record of the organiser's schedule.
1.35 +
1.36 + self.update_freebusy_from_organiser(organiser)
1.37 +
1.38 + # Set the additional occurrence.
1.39 +
1.40 + self.store.set_event(self.user, self.uid, self.recurrenceid, self.obj.to_node())
1.41 +
1.42 + return True
1.43 +
1.44 def _record(self, from_organiser=True, queue=False, cancel=False):
1.45
1.46 """
1.47 @@ -144,9 +181,10 @@
1.48
1.49 def add(self):
1.50
1.51 - # NOTE: Queue a suggested modification to any active event.
1.52 + "Queue a suggested additional recurrence for any active event."
1.53
1.54 - return self.wrap("An addition to an event has been received.", link=False)
1.55 + if self._add(queue=True):
1.56 + return self.wrap("An addition to an event has been received.")
1.57
1.58 def cancel(self):
1.59