# HG changeset patch # User Paul Boddie # Date 1505170901 -7200 # Node ID 353983292e029d777048ff48f0ae70591beb856d # Parent 7b446a8fd85582c46574d7556d04073dda29130e Removed request argument access when showing controls, fixing menu value selection and simplifying the code. diff -r 7b446a8fd855 -r 353983292e02 imipweb/resource.py --- a/imipweb/resource.py Mon Sep 11 23:57:30 2017 +0200 +++ b/imipweb/resource.py Tue Sep 12 01:01:41 2017 +0200 @@ -304,7 +304,7 @@ else: page.input(name=name, type=type, value=value, **kw) - def menu(self, name, default, items, values=None, class_="", index=None): + def menu(self, name, default, items, values=None, class_=""): """ Show a select menu having the given 'name', set to the given 'default', @@ -314,10 +314,7 @@ """ page = self.page - values = values or self.env.get_args().get(name, [default]) - if index is not None: - values = values[index:] - values = values and values[0:1] or [default] + values = values or [default] page.select(name=name, class_=class_) for v, label in items: @@ -329,17 +326,12 @@ page.option(label, value=v) page.select.close() - def date_controls(self, name, default, index=None, show_tzid=True, read_only=False): + def date_controls(self, name, default, show_tzid=True, read_only=False): """ Show date controls for a field with the given 'name' and 'default' form date value. - If 'index' is specified, default field values will be overridden by the - element from a collection of existing form values with the specified - index; otherwise, field values will be overridden by a single form - value. - If 'show_tzid' is set to a false value, the time zone menu will not be provided. @@ -381,7 +373,7 @@ for i in range(-7, 8): d = base + timedelta(i) items.append((format_datetime(d), self.format_date(d, "full"))) - self.menu("%s-date" % name, format_datetime(base), items, index=index) + self.menu("%s-date" % name, format_datetime(base), items) page.span.close() @@ -413,11 +405,11 @@ self.control("%s-tzid" % name, "hidden", tzid) page.span(tzid) else: - self.timezone_menu("%s-tzid" % name, tzid, index) + self.timezone_menu("%s-tzid" % name, tzid) page.span.close() - def timezone_menu(self, name, default, index=None): + def timezone_menu(self, name, default): """ Show timezone controls using a menu with the given 'name', set to the @@ -425,7 +417,7 @@ """ entries = [(tzid, tzid) for tzid in pytz.all_timezones] - self.menu(name, default, entries, index=index) + self.menu(name, default, entries) class DateTimeFormUtilities: @@ -557,7 +549,7 @@ if show_start: page.div(class_="dt enabled") - self.date_controls(_name("dtstart", "recur", index), period.get_form_start(), index=index, read_only=read_only) + self.date_controls(_name("dtstart", "recur", index), period.get_form_start(), read_only=read_only) if not read_only: page.br() page.label("Specify times", for_=_id("dttimes-enable", index), class_="time disabled enable") @@ -570,7 +562,7 @@ self.control("recur-replaced", "hidden", period.replaced and str(index) or "") else: - self.date_controls(_name("dtend", "recur", index), period.get_form_end(), index=index, show_tzid=False, read_only=read_only) + self.date_controls(_name("dtend", "recur", index), period.get_form_end(), show_tzid=False, read_only=read_only) if not read_only: page.div(class_="dt disabled") page.label("Specify end date", for_=_id("dtend-enable", index), class_="enable") @@ -619,11 +611,11 @@ if dt: page.td(class_=css) if show_start: - self.date_controls(_name("dtstart", "recur", index), period.get_form_start(), index=index, read_only=True) + self.date_controls(_name("dtstart", "recur", index), period.get_form_start(), read_only=True) self.control("recur-origin", "hidden", period.origin or "") self.control("recur-replaced", "hidden", period.replaced and str(index) or "") else: - self.date_controls(_name("dtend", "recur", index), period.get_form_end(), index=index, show_tzid=False, read_only=True) + self.date_controls(_name("dtend", "recur", index), period.get_form_end(), show_tzid=False, read_only=True) page.td.close() else: page.td("(Unrecognised date)")