# HG changeset patch # User Paul Boddie # Date 1431799414 -7200 # Node ID 7e1f796f5e0d174ca0fff9f8319077c963a9475f # Parent 0466701e758238a6d49abb4d7824102065e67ae5 Fixed replaced and replacing occurrence display. Removed a now-superfluous period conversion when showing conflicts. diff -r 0466701e7582 -r 7e1f796f5e0d imipweb/event.py --- a/imipweb/event.py Sat May 16 20:02:29 2015 +0200 +++ b/imipweb/event.py Sat May 16 20:03:34 2015 +0200 @@ -70,9 +70,9 @@ def get_recurrence_keys(self, recurrenceids): return [to_recurrence_start(s, self.get_tzid()) for s in recurrenceids] - def is_replaced(self, period, recurrenceids): + def is_replaced(self, period, recurrenceid, recurrenceids): start_utc = self.get_recurrence_key(period) - return recurrenceids and start_utc in self.get_recurrence_keys(recurrenceids) and "replaced" or "" + return not recurrenceid and recurrenceids and start_utc in self.get_recurrence_keys(recurrenceids) and "replaced" or "" def is_affected(self, period, recurrenceid): start_utc = self.get_recurrence_key(period) @@ -540,7 +540,7 @@ recurrenceid = format_datetime(obj.get_utc_datetime("RECURRENCE-ID")) recurrenceids = self._get_recurrences(uid) - replaced = self.is_replaced(p, recurrenceids) + replaced = self.is_replaced(p, recurrenceid, recurrenceids) # Provide a summary of the object. @@ -792,7 +792,7 @@ sequence = obj.get_value("SEQUENCE") p = event_period_from_period(period) - replaced = self.is_replaced(p, recurrenceids) + replaced = self.is_replaced(p, recurrenceid, recurrenceids) # Isolate the controls from neighbouring tables. @@ -875,8 +875,7 @@ # Show any conflicts with periods of actual attendance. for p in have_conflict(freebusy, periods, True): - period = event_period_from_period(p) - if self.is_replaced(period, recurrenceids): + if self.is_replaced(p, recurrenceid, recurrenceids): continue if (p.uid != uid or (recurrenceid and p.recurrenceid) and p.recurrenceid != recurrenceid) and p.transp != "ORG": conflicts.append(p) @@ -1037,7 +1036,7 @@ ssn = self._simple_suffixed_name p = event_period_from_period(period) - replaced = self.is_replaced(p, recurrenceids) + replaced = self.is_replaced(p, recurrenceid, recurrenceids) # Show controls for editing as organiser. @@ -1092,7 +1091,7 @@ page = self.page p = event_period_from_period(period) - replaced = self.is_replaced(p, recurrenceids) + replaced = self.is_replaced(p, recurrenceid, recurrenceids) css = " ".join([ replaced, @@ -1203,6 +1202,7 @@ page.span(self.format_date(base, "long")) # Show dates for up to one week around the current date. + # NOTE: Support paging to other dates. else: items = []