# HG changeset patch # User Paul Boddie # Date 1297815074 -3600 # Node ID 13c0c0957fe7e2f07ba74b8daaabd0b5a09b5203 # Parent 85c24bdd50faf79bbcc15642eb5ef5097d95aeaa Fixed the previous introducion of resolution parameter usage, since any failure to get a single parameter at a particular resolution would then erroneously yield a boolean result when testing the resolution parameter again, instead of yielding None and causing separate day, month and year parameter interpretation. diff -r 85c24bdd50fa -r 13c0c0957fe7 actions/EventAggregatorSummary.py --- a/actions/EventAggregatorSummary.py Wed Feb 16 00:52:49 2011 +0100 +++ b/actions/EventAggregatorSummary.py Wed Feb 16 01:11:14 2011 +0100 @@ -250,21 +250,27 @@ parent = form.get("parent", [""])[0] resolution = form.get("resolution", ["month"])[0] - calendar_start = resolution == "date" and EventAggregatorSupport.getFormDate(request, None, "start") or \ - resolution == "month" and EventAggregatorSupport.getFormMonth(request, None, "start") - calendar_end = resolution == "date" and EventAggregatorSupport.getFormDate(request, None, "end") or \ - resolution == "month" and EventAggregatorSupport.getFormMonth(request, None, "end") + # Look first for a single start and end parameter. If that fails to provide + # dates, look for separate start and end parameters, either for complete + # dates or for years and months. - # Look for separate start and end parameters, either for complete dates - # or for years and months. + if resolution == "date": + calendar_start = EventAggregatorSupport.getFormDate(request, None, "start") + calendar_end = EventAggregatorSupport.getFormDate(request, None, "end") - if calendar_start is None: - calendar_start = EventAggregatorSupport.getFormDateTriple(request, "start-year", "start-month", "start-day") or \ - EventAggregatorSupport.getFormMonthPair(request, "start-year", "start-month") + if calendar_start is None: + calendar_start = EventAggregatorSupport.getFormDateTriple(request, "start-year", "start-month", "start-day") + if calendar_end is None: + calendar_end = EventAggregatorSupport.getFormDateTriple(request, "end-year", "end-month", "end-day") - if calendar_end is None: - calendar_end = EventAggregatorSupport.getFormDateTriple(request, "end-year", "end-month", "end-day") or \ - EventAggregatorSupport.getFormMonthPair(request, "end-year", "end-month") + elif resolution == "month": + calendar_start = EventAggregatorSupport.getFormMonth(request, None, "start") + calendar_end = EventAggregatorSupport.getFormMonth(request, None, "end") + + if calendar_start is None: + calendar_start = EventAggregatorSupport.getFormMonthPair(request, "start-year", "start-month") + if calendar_end is None: + calendar_end = EventAggregatorSupport.getFormMonthPair(request, "end-year", "end-month") # Determine the period and get the events involved.