1.1 --- a/actions/EventAggregatorNewEvent.py Sun Feb 06 02:38:17 2011 +0100
1.2 +++ b/actions/EventAggregatorNewEvent.py Sat Feb 19 03:06:03 2011 +0100
1.3 @@ -27,27 +27,14 @@
1.4
1.5 # Action class and supporting functions.
1.6
1.7 -class EventAggregatorNewEvent(ActionBase):
1.8 +class EventAggregatorNewEvent(ActionBase, EventAggregatorSupport.ActionSupport):
1.9
1.10 "An event creation dialogue requesting various parameters."
1.11
1.12 - def _get_selected(self, value, input_value):
1.13 - return input_value is not None and value == input_value and 'selected="selected"' or ''
1.14 -
1.15 - def _get_selected_for_list(self, value, input_values):
1.16 - return value in input_values and 'selected="selected"' or ''
1.17 -
1.18 - def _get_input(self, form, name, default=None):
1.19 - value = form.get(name, [None])[0]
1.20 - if not value: # true if 0 obtained
1.21 - return default
1.22 - else:
1.23 - return int(value)
1.24 -
1.25 def get_form_html(self, buttons_html):
1.26 _ = self._
1.27 request = self.request
1.28 - form = request.form
1.29 + form = self.get_form()
1.30
1.31 # Handle advanced and basic forms, and enable/disable certain fields.
1.32
1.33 @@ -99,20 +86,8 @@
1.34
1.35 # Initialise month lists.
1.36
1.37 - start_month_list = []
1.38 - end_month_list = []
1.39 -
1.40 - start_month = self._get_input(form, "start-month", EventAggregatorSupport.getCurrentMonth().month())
1.41 - end_month = self._get_input(form, "end-month", start_month)
1.42 -
1.43 - # Prepare month lists, selecting specified months.
1.44 -
1.45 - for month in range(1, 13):
1.46 - month_label = _(EventAggregatorSupport.getMonthLabel(month))
1.47 - selected = self._get_selected(month, start_month)
1.48 - start_month_list.append('<option value="%02d" %s>%s</option>' % (month, selected, escape(month_label)))
1.49 - selected = self._get_selected(month, end_month)
1.50 - end_month_list.append('<option value="%02d" %s>%s</option>' % (month, selected, escape(month_label)))
1.51 + start_month_list, end_month_list = self.get_month_lists(default_as_current=1)
1.52 + start_year_default, end_year_default = self.get_year_defaults(default_as_current=1)
1.53
1.54 # Initialise regime lists.
1.55
1.56 @@ -155,7 +130,7 @@
1.57
1.58 "start_label" : escape(_("Start date (day, month, year)")),
1.59 "start_day_default" : escattr(form.get("start-day", [""])[0]),
1.60 - "start_year_default" : escattr(form.get("start-year", [""])[0] or EventAggregatorSupport.getCurrentYear()),
1.61 + "start_year_default" : escattr(start_year_default),
1.62 "start_time_label" : escape(_("Start time (hour, minute, second)")),
1.63 "start_hour_default" : escattr(form.get("start-hour", [""])[0]),
1.64 "start_minute_default" : escattr(form.get("start-minute", [""])[0]),
1.65 @@ -164,7 +139,7 @@
1.66
1.67 "end_label" : escape(_("End date (day, month, year) - if different")),
1.68 "end_day_default" : escattr(form.get("end-day", [""])[0] or form.get("start-day", [""])[0]),
1.69 - "end_year_default" : escattr(form.get("end-year", [""])[0] or form.get("start-year", [""])[0]),
1.70 + "end_year_default" : escattr(end_year_default),
1.71 "end_time_label" : escape(_("End time (hour, minute, second)")),
1.72 "end_hour_default" : escattr(form.get("end-hour", [""])[0]),
1.73 "end_minute_default" : escattr(form.get("end-minute", [""])[0]),
1.74 @@ -469,7 +444,7 @@
1.75 "Create the new event."
1.76
1.77 _ = self._
1.78 - form = self.request.form
1.79 + form = self.get_form()
1.80
1.81 # If no title exists in the request, an error message is returned.
1.82
1.83 @@ -499,7 +474,7 @@
1.84 "Create an event page using the 'request'."
1.85
1.86 _ = request.getText
1.87 - form = request.form
1.88 + form = self.get_form()
1.89
1.90 category_pagenames = form.get("category", [])
1.91 description = form.get("description", [None])[0]