# HG changeset patch # User Paul Boddie # Date 1265226854 -3600 # Node ID 155ceab3c1222ec40a2f72f4b60f008c00aa71ef # Parent 0436824aa4a06a336772d6467adfb41f0501ea9c Introduced basic and advanced modes to the new event action. diff -r 0436824aa4a0 -r 155ceab3c122 README.txt --- a/README.txt Wed Feb 03 20:52:46 2010 +0100 +++ b/README.txt Wed Feb 03 20:54:14 2010 +0100 @@ -163,6 +163,7 @@ * Added support for multiple events on a single event page. * Introduced EventPage and Event abstractions in order to better support new features. + * Introduced basic and advanced modes to the EventAggregatorNewEvent action. New in EventAggregator 0.4 (Changes since EventAggregator 0.3) -------------------------------------------------------------- diff -r 0436824aa4a0 -r 155ceab3c122 actions/EventAggregatorNewEvent.py --- a/actions/EventAggregatorNewEvent.py Wed Feb 03 20:52:46 2010 +0100 +++ b/actions/EventAggregatorNewEvent.py Wed Feb 03 20:54:14 2010 +0100 @@ -39,6 +39,12 @@ request = self.request form = request.form + # Handle advanced and basic forms. + + show_advanced = form.get("advanced") and not form.get("basic") + + # Prepare the category list. + category_list = [] category_pagenames = form.get("category", []) @@ -48,7 +54,16 @@ request): selected = self._get_selected_for_list(category_pagename, category_pagenames) - category_list.append('' % (category_pagename, selected, category_name)) + + # In the advanced view, populate a menu. + + if show_advanced: + category_list.append('' % (category_pagename, selected, category_name)) + + # In the basic view, use hidden fields. + + elif selected: + category_list.append('' % category_pagename) # Initialise month lists. @@ -93,9 +108,13 @@ "template_default" : form.get("template", [""])[0] or template_default, "parent_label" : _("Parent page"), "parent_default" : form.get("parent", [""])[0], + "advanced_label" : _("Show advanced options"), + "basic_label" : _("Show basic options"), } - return ''' + # Prepare the output HTML. + + html = ''' @@ -104,14 +123,6 @@ - - - - + ''' % d + + if show_advanced: + html += ''' + + + + + + + @@ -155,8 +184,27 @@ %(buttons_html)s -
- -
@@ -136,6 +147,24 @@
+ + +
+ +
-''' % d +''' % d + else: + html += ''' + + + + + %(category_list)s + + + + + + + + %(buttons_html)s + + +''' % d + + return html def do_action(self):