1.1 --- a/README.txt Wed Feb 03 20:52:46 2010 +0100
1.2 +++ b/README.txt Wed Feb 03 20:54:14 2010 +0100
1.3 @@ -163,6 +163,7 @@
1.4 * Added support for multiple events on a single event page.
1.5 * Introduced EventPage and Event abstractions in order to better support new
1.6 features.
1.7 + * Introduced basic and advanced modes to the EventAggregatorNewEvent action.
1.8
1.9 New in EventAggregator 0.4 (Changes since EventAggregator 0.3)
1.10 --------------------------------------------------------------
2.1 --- a/actions/EventAggregatorNewEvent.py Wed Feb 03 20:52:46 2010 +0100
2.2 +++ b/actions/EventAggregatorNewEvent.py Wed Feb 03 20:54:14 2010 +0100
2.3 @@ -39,6 +39,12 @@
2.4 request = self.request
2.5 form = request.form
2.6
2.7 + # Handle advanced and basic forms.
2.8 +
2.9 + show_advanced = form.get("advanced") and not form.get("basic")
2.10 +
2.11 + # Prepare the category list.
2.12 +
2.13 category_list = []
2.14 category_pagenames = form.get("category", [])
2.15
2.16 @@ -48,7 +54,16 @@
2.17 request):
2.18
2.19 selected = self._get_selected_for_list(category_pagename, category_pagenames)
2.20 - category_list.append('<option value="%s" %s>%s</option>' % (category_pagename, selected, category_name))
2.21 +
2.22 + # In the advanced view, populate a menu.
2.23 +
2.24 + if show_advanced:
2.25 + category_list.append('<option value="%s" %s>%s</option>' % (category_pagename, selected, category_name))
2.26 +
2.27 + # In the basic view, use hidden fields.
2.28 +
2.29 + elif selected:
2.30 + category_list.append('<input value="%s" name="category" type="hidden" />' % category_pagename)
2.31
2.32 # Initialise month lists.
2.33
2.34 @@ -93,9 +108,13 @@
2.35 "template_default" : form.get("template", [""])[0] or template_default,
2.36 "parent_label" : _("Parent page"),
2.37 "parent_default" : form.get("parent", [""])[0],
2.38 + "advanced_label" : _("Show advanced options"),
2.39 + "basic_label" : _("Show basic options"),
2.40 }
2.41
2.42 - return '''
2.43 + # Prepare the output HTML.
2.44 +
2.45 + html = '''
2.46 <table>
2.47 <tr>
2.48 <td class="label"><label>%(title_label)s</label></td>
2.49 @@ -104,14 +123,6 @@
2.50 </td>
2.51 </tr>
2.52 <tr>
2.53 - <td class="label"><label>%(category_label)s</label></td>
2.54 - <td class="content">
2.55 - <select multiple="multiple" name="category">
2.56 - %(category_list)s
2.57 - </select>
2.58 - </td>
2.59 - </tr>
2.60 - <tr>
2.61 <td class="label"><label>%(start_label)s</label></td>
2.62 <td>
2.63 <input name="start-day" type="text" value="%(start_day_default)s" size="2" />
2.64 @@ -136,6 +147,24 @@
2.65 <td>
2.66 <input name="description" type="text" size="40" value="%(description_default)s" />
2.67 </td>
2.68 + </tr>''' % d
2.69 +
2.70 + if show_advanced:
2.71 + html += '''
2.72 + <tr>
2.73 + <td></td>
2.74 + <td>
2.75 + <input name="basic" type="submit" value="%(basic_label)s" />
2.76 + <input name="advanced" type="hidden" value="true" />
2.77 + </td>
2.78 + </tr>
2.79 + <tr>
2.80 + <td class="label"><label>%(category_label)s</label></td>
2.81 + <td class="content">
2.82 + <select multiple="multiple" name="category">
2.83 + %(category_list)s
2.84 + </select>
2.85 + </td>
2.86 </tr>
2.87 <tr>
2.88 <td class="label"><label>%(template_label)s</label></td>
2.89 @@ -155,8 +184,27 @@
2.90 %(buttons_html)s
2.91 </td>
2.92 </tr>
2.93 -</table>
2.94 -''' % d
2.95 +</table>''' % d
2.96 + else:
2.97 + html += '''
2.98 + <tr>
2.99 + <td></td>
2.100 + <td>
2.101 + <input name="advanced" type="submit" value="%(advanced_label)s" />
2.102 + %(category_list)s
2.103 + <input name="parent" type="hidden" value="%(parent_default)s" />
2.104 + <input name="template" type="hidden" value="%(template_default)s" />
2.105 + </td>
2.106 + </tr>
2.107 + <tr>
2.108 + <td></td>
2.109 + <td class="buttons">
2.110 + %(buttons_html)s
2.111 + </td>
2.112 + </tr>
2.113 +</table>''' % d
2.114 +
2.115 + return html
2.116
2.117 def do_action(self):
2.118