1.1 --- a/imiptools/handlers/person_outgoing.py Sun Mar 22 19:04:48 2015 +0100
1.2 +++ b/imiptools/handlers/person_outgoing.py Sun Mar 22 21:23:42 2015 +0100
1.3 @@ -46,7 +46,11 @@
1.4
1.5 def _record(self, from_organiser=True, update_freebusy=False):
1.6
1.7 - "Record free/busy and object information."
1.8 + """
1.9 + Record details from the current object given a message originating
1.10 + from an organiser if 'from_organiser' is set to a true value, updating
1.11 + free/busy information if 'update_freebusy' is set to a true value.
1.12 + """
1.13
1.14 item = self._get_identity(from_organiser)
1.15 if not item:
1.16 @@ -68,7 +72,10 @@
1.17 self.store.remove_recurrences(identity, self.uid)
1.18
1.19 else:
1.20 - organiser_item, attendees = self.require_organiser_and_attendees(from_organiser)
1.21 + # Obtain valid attendees, merging their attendance with the stored
1.22 + # object.
1.23 +
1.24 + attendees = self.require_attendees(from_organiser)
1.25 self.merge_attendance(attendees, identity)
1.26
1.27 # Remove any associated request.
1.28 @@ -90,6 +97,8 @@
1.29 # recurrence information.
1.30
1.31 obj = self.get_object(identity)
1.32 + if not obj:
1.33 + return False # although this should not happen
1.34
1.35 # If newer than any old version, discard old details from the
1.36 # free/busy record and check for suitability.
1.37 @@ -126,6 +135,8 @@
1.38 # NOTE: cancellations.
1.39
1.40 obj = self.get_object(identity)
1.41 + if not obj:
1.42 + return False
1.43
1.44 attendees = uri_dict(obj.get_value_map("ATTENDEE"))
1.45 all_attendees = set(attendees.keys())