1.1 --- a/imiptools/handlers/person.py Sun Sep 06 01:06:28 2015 +0200
1.2 +++ b/imiptools/handlers/person.py Sun Sep 06 01:15:30 2015 +0200
1.3 @@ -205,29 +205,33 @@
1.4
1.5 method = "REQUEST"
1.6
1.7 - # Get the parent event, add SENT-BY details to the organiser.
1.8 + for attendee in attendees:
1.9 + responses = []
1.10
1.11 - obj = self.get_stored_object_version()
1.12 - organiser, organiser_attr = uri_item(obj.get_item("ORGANIZER"))
1.13 - self.update_sender(organiser_attr)
1.14 - responses = [obj.to_node()]
1.15 + # Get the parent event, add SENT-BY details to the organiser.
1.16 +
1.17 + obj = self.get_stored_object_version()
1.18
1.19 - # Get recurrences.
1.20 -
1.21 - cancelled = self.store.get_cancellations(self.user)
1.22 + if self.is_participating(attendee, obj=obj):
1.23 + organiser, organiser_attr = uri_item(obj.get_item("ORGANIZER"))
1.24 + self.update_sender(organiser_attr)
1.25 + responses.append(obj.to_node())
1.26
1.27 - if not self.recurrenceid:
1.28 - for recurrenceid in self.store.get_recurrences(self.user, self.uid):
1.29 - if not cancelled or (self.uid, recurrenceid) not in cancelled:
1.30 + # Get recurrences.
1.31 +
1.32 + if not self.recurrenceid:
1.33 + for recurrenceid in self.store.get_active_recurrences(self.user, self.uid):
1.34
1.35 # Get the recurrence, add SENT-BY details to the organiser.
1.36
1.37 obj = self.get_stored_object(self.uid, recurrenceid)
1.38 - organiser, organiser_attr = uri_item(obj.get_item("ORGANIZER"))
1.39 - self.update_sender(organiser_attr)
1.40 - responses.append(obj.to_node())
1.41
1.42 - self.add_result(method, map(get_address, attendees), to_part(method, responses))
1.43 + if self.is_participating(attendee, obj=obj):
1.44 + organiser, organiser_attr = uri_item(obj.get_item("ORGANIZER"))
1.45 + self.update_sender(organiser_attr)
1.46 + responses.append(obj.to_node())
1.47 +
1.48 + self.add_result(method, [get_address(attendee)], to_part(method, responses))
1.49
1.50 return True
1.51