1.1 --- a/htdocs/styles.css Fri Oct 16 22:29:35 2015 +0200
1.2 +++ b/htdocs/styles.css Fri Oct 16 22:30:21 2015 +0200
1.3 @@ -109,7 +109,8 @@
1.4 }
1.5
1.6 table.recurrence .replaced,
1.7 -table.conflicts .replaced {
1.8 +table.conflicts .replaced,
1.9 +table.counters .replaced {
1.10 text-decoration: line-through;
1.11 }
1.12
2.1 --- a/imipweb/event.py Fri Oct 16 22:29:35 2015 +0200
2.2 +++ b/imipweb/event.py Fri Oct 16 22:30:21 2015 +0200
2.3 @@ -571,6 +571,7 @@
2.4
2.5 attendees = self.get_verbose_attendees(attendees)
2.6 current_attendees = [uri for (name, uri) in uri_parts(self.get_current_attendees())]
2.7 + current_periods = set(self.get_periods(self.obj))
2.8
2.9 # Get suggestions. Attendees are aggregated and reference the existing
2.10 # attendees suggesting them. Periods are referenced by each existing
2.11 @@ -597,7 +598,7 @@
2.12 # Get suggested periods.
2.13
2.14 periods = self.get_periods(obj)
2.15 - if set(periods).difference(self.get_periods(self.obj)):
2.16 + if current_periods.symmetric_difference(periods):
2.17 suggested_periods[attendee] = periods
2.18
2.19 # Present the suggested attendees.
2.20 @@ -648,12 +649,15 @@
2.21 page.thead.close()
2.22 page.tbody()
2.23
2.24 + recurrenceids = self._get_recurrences(self.uid)
2.25 +
2.26 suggested_periods = list(suggested_periods.items())
2.27 suggested_periods.sort()
2.28
2.29 for attendee, periods in suggested_periods:
2.30 first = True
2.31 for p in periods:
2.32 + replaced = not self.recurrenceid and p.is_replaced(recurrenceids)
2.33 identifier = "%s-%s" % (format_datetime(p.get_start_point()), format_datetime(p.get_end_point()))
2.34 css = identifier == counter and "selected" or ""
2.35
2.36 @@ -664,8 +668,9 @@
2.37
2.38 # Show each period.
2.39
2.40 - page.td(start)
2.41 - page.td(end)
2.42 + css = replaced and "replaced" or ""
2.43 + page.td(start, class_=css)
2.44 + page.td(end, class_=css)
2.45
2.46 # Show attendees and controls alongside the first period in each
2.47 # attendee's collection.