# HG changeset patch # User Paul Boddie # Date 1508102497 -7200 # Node ID c74acb35be674486f1b1f400f7a34c123a15ff76 # Parent c4521a67f95d65d3e98aae50c3053a1039b54fe6 Obtain all counter-proposal recurrences if a parent event is involved. diff -r c4521a67f95d -r c74acb35be67 imipweb/data.py --- a/imipweb/data.py Sun Oct 15 22:16:05 2017 +0200 +++ b/imipweb/data.py Sun Oct 15 23:21:37 2017 +0200 @@ -154,15 +154,25 @@ "Return a counter-proposal mapping from attendees to objects." - # Get counter-proposals for the specific object. - - attendees = self.store.get_counters(self.user, self.uid, self.recurrenceid) d = {} - for attendee in attendees: - if not d.has_key(attendee): - d[attendee] = [] - d[attendee].append(self.get_stored_object(self.uid, self.recurrenceid, "counters", attendee)) + # Get counter-proposals for the specific object. + + recurrenceids = [self.recurrenceid] + + # And for all recurrences associated with a parent object. + + if not self.recurrenceid: + recurrenceids += self.store.get_counter_recurrences(self.user, self.uid) + + # Map attendees to objects. + + for recurrenceid in recurrenceids: + attendees = self.store.get_counters(self.user, self.uid, recurrenceid) + for attendee in attendees: + if not d.has_key(attendee): + d[attendee] = [] + d[attendee].append(self.get_stored_object(self.uid, recurrenceid, "counters", attendee)) return d