# HG changeset patch # User Paul Boddie # Date 1425067465 -3600 # Node ID 0f6fae987249daa9e54d6f4a2a7ca18a88147c3d # Parent adf8e079e7c51a575ea8e3ec11bbcd3d45802f63 Show affected recurrences when handling events with recurrence identifiers. diff -r adf8e079e7c5 -r 0f6fae987249 htdocs/styles.css --- a/htdocs/styles.css Fri Feb 27 01:11:16 2015 +0100 +++ b/htdocs/styles.css Fri Feb 27 21:04:25 2015 +0100 @@ -93,6 +93,10 @@ font-size: inherit; } +.replaced { + text-decoration: line-through; +} + /* Selection of slots/periods for new events. */ input.newevent.selector { diff -r adf8e079e7c5 -r 0f6fae987249 imip_manager.py --- a/imip_manager.py Fri Feb 27 01:11:16 2015 +0100 +++ b/imip_manager.py Fri Feb 27 21:04:25 2015 +0100 @@ -1024,6 +1024,17 @@ page = self.page + # Obtain any parent object if this object is a specific recurrence. + + recurrenceid = format_datetime(obj.get_utc_datetime("RECURRENCE-ID")) + + if recurrenceid: + obj = self._get_object(obj.get_value("UID")) + if not obj: + return + + page.p("This event modifies a recurring event.") + # Obtain the user's timezone. tzid = self.get_tzid() @@ -1047,9 +1058,12 @@ page.tbody() for start, end in periods: + start_utc = format_datetime(to_timezone(start, "UTC")) + css = recurrenceid and start_utc == recurrenceid and "replaced" or "" + page.tr() - page.td(self.format_datetime(start, "long")) - page.td(self.format_datetime(end, "long")) + page.td(self.format_datetime(start, "long"), class_=css) + page.td(self.format_datetime(end, "long"), class_=css) page.tr.close() page.tbody.close()