# HG changeset patch # User Paul Boddie # Date 1445016392 -7200 # Node ID 7411013e727ef3382073b98bc2811905ecaac079 # Parent 5eee0884edfa02c443a10ef23da3608b315d4d6d Switched to presenting replaced recurrences using read-only date controls, thus keeping the form handling happy. diff -r 5eee0884edfa -r 7411013e727e imipweb/resource.py --- a/imipweb/resource.py Fri Oct 16 18:45:36 2015 +0200 +++ b/imipweb/resource.py Fri Oct 16 19:26:32 2015 +0200 @@ -419,7 +419,7 @@ page = self.page if type in ("checkbox", "radio") and selected: - page.input(name=name, type=type, value=value, checked=selected, **kw) + page.input(name=name, type=type, value=value, checked="checked", **kw) else: page.input(name=name, type=type, value=value, **kw) @@ -708,12 +708,13 @@ # Show label as attendee. else: - self.show_recurrence_label(p, recurrenceid, recurrenceids, show_start) + self.show_recurrence_label(index, period, recurrenceid, recurrenceids, show_start) - def show_recurrence_label(self, period, recurrenceid, recurrenceids, show_start): + def show_recurrence_label(self, index, period, recurrenceid, recurrenceids, show_start): """ - Show datetime details for the given 'period', employing any + Show datetime details from the current object for the recurrence having + the given 'index', for the given recurrence 'period', employing any 'recurrenceid' and 'recurrenceids' for the object to configure the displayed information. @@ -722,6 +723,7 @@ """ page = self.page + _name = self.element_name try: p = event_period_from_period(period) @@ -744,7 +746,13 @@ formdate = show_start and period.get_form_start() or period.get_form_end() dt = formdate.as_datetime() if dt: - page.td(self.format_datetime(dt, "long"), class_=css) + page.td(class_=css) + if show_start: + self.date_controls(_name("dtstart", "recur", index), period.get_form_start(), index=index, read_only=True) + self.control("recur-origin", "hidden", period.origin or "") + else: + self.date_controls(_name("dtend", "recur", index), period.get_form_end(), index=index, show_tzid=False, read_only=True) + page.td.close() else: page.td("(Unrecognised date)")