1.1 --- a/imip_manager.py Sun Mar 22 22:04:50 2015 +0100
1.2 +++ b/imip_manager.py Sun Mar 22 22:08:20 2015 +0100
1.3 @@ -1128,12 +1128,11 @@
1.4 # Show controls for editing as organiser.
1.5
1.6 if is_organiser:
1.7 - value = format_datetime(dt)
1.8 page.td(class_="objectvalue dt%s" % (is_start_datetime and "start" or "end"))
1.9
1.10 if is_start_datetime:
1.11 page.div(class_="dt enabled")
1.12 - self._show_date_controls("dtstart", value, attr)
1.13 + self._show_date_controls("dtstart", dt, attr.get("TZID"))
1.14 page.br()
1.15 page.label("Specify times", for_="dttimes-enable", class_="time disabled enable")
1.16 page.label("Specify dates only", for_="dttimes-disable", class_="time enabled disable")
1.17 @@ -1144,7 +1143,7 @@
1.18 page.label("Specify end date", for_="dtend-enable", class_="enable")
1.19 page.div.close()
1.20 page.div(class_="dt enabled")
1.21 - self._show_date_controls("dtend", value, attr)
1.22 + self._show_date_controls("dtend", dt, attr.get("TZID"))
1.23 page.br()
1.24 page.label("End on same day", for_="dtend-disable", class_="disable")
1.25 page.div.close()
1.26 @@ -1904,7 +1903,7 @@
1.27 page.option(label, value=v)
1.28 page.select.close()
1.29
1.30 - def _show_date_controls(self, name, default, attr):
1.31 + def _show_date_controls(self, name, default, tzid):
1.32
1.33 """
1.34 Show date controls for a field with the given 'name' and 'default' value
1.35 @@ -1914,12 +1913,11 @@
1.36 page = self.page
1.37 args = self.env.get_args()
1.38
1.39 - event_tzid = attr.get("TZID", self.get_tzid())
1.40 - dt = get_datetime(default, attr)
1.41 + event_tzid = tzid or self.get_tzid()
1.42
1.43 # Show dates for up to one week around the current date.
1.44
1.45 - base = get_date(dt)
1.46 + base = get_date(default)
1.47 items = []
1.48 for i in range(-7, 8):
1.49 d = base + timedelta(i)
1.50 @@ -1929,10 +1927,10 @@
1.51
1.52 # Show time details.
1.53
1.54 - dt_time = isinstance(dt, datetime) and dt or None
1.55 - hour = args.get("%s-hour" % name, "%02d" % (dt_time and dt_time.hour or 0))
1.56 - minute = args.get("%s-minute" % name, "%02d" % (dt_time and dt_time.minute or 0))
1.57 - second = args.get("%s-second" % name, "%02d" % (dt_time and dt_time.second or 0))
1.58 + default_time = isinstance(default, datetime) and default or None
1.59 + hour = args.get("%s-hour" % name, "%02d" % (default_time and default_time.hour or 0))
1.60 + minute = args.get("%s-minute" % name, "%02d" % (default_time and default_time.minute or 0))
1.61 + second = args.get("%s-second" % name, "%02d" % (default_time and default_time.second or 0))
1.62
1.63 page.span(class_="time enabled")
1.64 page.input(name="%s-hour" % name, type="text", value=hour, maxlength=2, size=2)