1.1 --- a/actions/EventAggregatorNewEvent.py Fri Mar 09 00:09:38 2012 +0100
1.2 +++ b/actions/EventAggregatorNewEvent.py Sat Mar 10 15:41:24 2012 +0100
1.3 @@ -97,28 +97,34 @@
1.4
1.5 # Initialise the time regime from the location.
1.6
1.7 - regime = form.get("regime", [None])[0]
1.8 + start_regime = form.get("start-regime", [None])[0]
1.9 + end_regime = form.get("end-regime", [None])[0]
1.10
1.11 - if not regime:
1.12 - regime = Location(location, locations).getTimeRegime()
1.13 + if not start_regime:
1.14 + start_regime = Location(location, locations).getTimeRegime()
1.15 + end_regime = end_regime or start_regime
1.16
1.17 # Initialise regime lists.
1.18
1.19 - regime_list = []
1.20 - regime_list.append('<option value="">%s</option>' % escape(_("<The event location (if known)>")))
1.21 + start_regime_list = []
1.22 + start_regime_list.append('<option value="">%s</option>' % escape(_("<The event location (if known)>")))
1.23 + end_regime_list = []
1.24 + end_regime_list.append('<option value="">%s</option>' % escape(_("<Same as start time>")))
1.25
1.26 # Prepare regime lists, selecting specified regimes.
1.27
1.28 if pytz is not None:
1.29 - regime_list += self.get_option_list(regime, pytz.common_timezones)
1.30 + start_regime_list += self.get_option_list(start_regime, pytz.common_timezones)
1.31 + end_regime_list += self.get_option_list(end_regime, pytz.common_timezones)
1.32
1.33 # Show time zone-related information depending on various fields.
1.34
1.35 show_zone_regime = (
1.36 - (form.get("regime") or regime) # have a regime value
1.37 + form.get("start-regime") # have a regime
1.38 and not form.get("show-offsets") # are not switching to offsets
1.39 and not form.get("hide-zone") # are not removing zone information
1.40 or form.get("show-regime") # are switching to a regime
1.41 + or form.get("show-times") and start_regime # are showing times with a regime
1.42 )
1.43 show_zone_offsets = (
1.44 form.get("start-offset") # have an offset
1.45 @@ -144,7 +150,8 @@
1.46 "start_month_list" : "\n".join(start_month_list),
1.47 "end_month_list" : "\n".join(end_month_list),
1.48
1.49 - "regime_list" : "\n".join(regime_list),
1.50 + "start_regime_list" : "\n".join(start_regime_list),
1.51 + "end_regime_list" : "\n".join(end_regime_list),
1.52 "use_regime_label" : escape(_("Using local time in...")),
1.53
1.54 "show_end_date_label" : escape(_("Specify end date")),
1.55 @@ -307,8 +314,8 @@
1.56
1.57 html += '''
1.58 <tr>
1.59 - <td class="label"><label>%(start_time_label)s</label></td>
1.60 - <td style="white-space: nowrap">
1.61 + <td class="label event-time-selection"><label>%(start_time_label)s</label></td>
1.62 + <td style="white-space: nowrap" class="event-time-selection">
1.63 <input name="start-hour" type="text" value="%(start_hour_default)s" size="2" maxlength="2" />
1.64 <input name="start-minute" type="text" value="%(start_minute_default)s" size="2" maxlength="2" />
1.65 <input name="start-second" type="text" value="%(start_second_default)s" size="2" maxlength="2" />
1.66 @@ -318,7 +325,7 @@
1.67
1.68 if show_zone_offsets:
1.69 html += '''
1.70 - <td>
1.71 + <td class="event-zone-selection">
1.72 UTC <input name="start-offset" type="text" value="%(start_offset_default)s" size="6" maxlength="6" />
1.73 </td>''' % d
1.74
1.75 @@ -326,10 +333,10 @@
1.76
1.77 elif show_zone_regime:
1.78 html += '''
1.79 - <td class="event-regime-selection" rowspan="2">
1.80 + <td class="event-regime-selection">
1.81 <label>%(use_regime_label)s</label><br/>
1.82 - <select name="regime">
1.83 - %(regime_list)s
1.84 + <select name="start-regime">
1.85 + %(start_regime_list)s
1.86 </select>
1.87 </td>''' % d
1.88
1.89 @@ -340,8 +347,8 @@
1.90
1.91 html += '''
1.92 <tr>
1.93 - <td class="label"><label>%(end_time_label)s</label></td>
1.94 - <td style="white-space: nowrap">
1.95 + <td class="label event-time-selection"><label>%(end_time_label)s</label></td>
1.96 + <td style="white-space: nowrap" class="event-time-selection">
1.97 <input name="end-hour" type="text" value="%(end_hour_default)s" size="2" maxlength="2" />
1.98 <input name="end-minute" type="text" value="%(end_minute_default)s" size="2" maxlength="2" />
1.99 <input name="end-second" type="text" value="%(end_second_default)s" size="2" maxlength="2" />
1.100 @@ -351,10 +358,20 @@
1.101
1.102 if show_zone_offsets:
1.103 html += '''
1.104 - <td>
1.105 + <td class="event-zone-selection">
1.106 UTC <input name="end-offset" type="text" value="%(end_offset_default)s" size="6" maxlength="6" />
1.107 </td>''' % d
1.108
1.109 + # Regime information displayed.
1.110 +
1.111 + elif show_zone_regime:
1.112 + html += '''
1.113 + <td class="event-regime-selection event-end-time">
1.114 + <select name="end-regime">
1.115 + %(end_regime_list)s
1.116 + </select>
1.117 + </td>''' % d
1.118 +
1.119 # Controls for removing times.
1.120
1.121 html += '''
1.122 @@ -626,12 +643,13 @@
1.123 link = form.get("link", [None])[0]
1.124 topics = form.get("topics", [])
1.125
1.126 - regime = form.get("regime", [None])[0]
1.127 + start_regime = form.get("start-regime", [None])[0]
1.128 + end_regime = form.get("end-regime", form.get("start-regime", [None]))[0]
1.129 start_offset = form.get("start-offset", [None])[0]
1.130 end_offset = form.get("end-offset", [None])[0]
1.131
1.132 - start_zone = regime or start_offset
1.133 - end_zone = regime or end_offset
1.134 + start_zone = start_regime or start_offset
1.135 + end_zone = end_regime or end_offset
1.136
1.137 # Validate certain fields.
1.138
2.1 --- a/css/event-aggregator.css Fri Mar 09 00:09:38 2012 +0100
2.2 +++ b/css/event-aggregator.css Sat Mar 10 15:41:24 2012 +0100
2.3 @@ -551,6 +551,13 @@
2.4
2.5 /* New event form. */
2.6
2.7 +td.event-time-selection,
2.8 +td.event-zone-selection,
2.9 +td.event-regime-selection.event-end-time {
2.10 + vertical-align: bottom;
2.11 +}
2.12 +
2.13 +td.event-time-selection.label,
2.14 td.event-regime-selection {
2.15 vertical-align: top;
2.16 }