1.1 --- a/htdocs/styles.css Fri Feb 27 01:11:16 2015 +0100
1.2 +++ b/htdocs/styles.css Fri Feb 27 21:04:25 2015 +0100
1.3 @@ -93,6 +93,10 @@
1.4 font-size: inherit;
1.5 }
1.6
1.7 +.replaced {
1.8 + text-decoration: line-through;
1.9 +}
1.10 +
1.11 /* Selection of slots/periods for new events. */
1.12
1.13 input.newevent.selector {
2.1 --- a/imip_manager.py Fri Feb 27 01:11:16 2015 +0100
2.2 +++ b/imip_manager.py Fri Feb 27 21:04:25 2015 +0100
2.3 @@ -1024,6 +1024,17 @@
2.4
2.5 page = self.page
2.6
2.7 + # Obtain any parent object if this object is a specific recurrence.
2.8 +
2.9 + recurrenceid = format_datetime(obj.get_utc_datetime("RECURRENCE-ID"))
2.10 +
2.11 + if recurrenceid:
2.12 + obj = self._get_object(obj.get_value("UID"))
2.13 + if not obj:
2.14 + return
2.15 +
2.16 + page.p("This event modifies a recurring event.")
2.17 +
2.18 # Obtain the user's timezone.
2.19
2.20 tzid = self.get_tzid()
2.21 @@ -1047,9 +1058,12 @@
2.22 page.tbody()
2.23
2.24 for start, end in periods:
2.25 + start_utc = format_datetime(to_timezone(start, "UTC"))
2.26 + css = recurrenceid and start_utc == recurrenceid and "replaced" or ""
2.27 +
2.28 page.tr()
2.29 - page.td(self.format_datetime(start, "long"))
2.30 - page.td(self.format_datetime(end, "long"))
2.31 + page.td(self.format_datetime(start, "long"), class_=css)
2.32 + page.td(self.format_datetime(end, "long"), class_=css)
2.33 page.tr.close()
2.34
2.35 page.tbody.close()