1.1 --- a/macros/EventAggregator.py Thu Jul 08 22:18:54 2010 +0200
1.2 +++ b/macros/EventAggregator.py Fri Jul 09 01:56:45 2010 +0200
1.3 @@ -68,6 +68,18 @@
1.4 def getQualifiedParameterName(self, argname):
1.5 return EventAggregatorSupport.getQualifiedParameterName(self.calendar_name, argname)
1.6
1.7 + def getMonthYearQueryString(self, argname, year_month, prefix=1):
1.8 + if year_month is not None:
1.9 + year, month = year_month.as_tuple()
1.10 + month_argname = "%s-month" % argname
1.11 + year_argname = "%s-year" % argname
1.12 + if prefix:
1.13 + month_argname = self.getQualifiedParameterName(month_argname)
1.14 + year_argname = self.getQualifiedParameterName(year_argname)
1.15 + return "%s=%s&%s=%s" % (month_argname, month, year_argname, year)
1.16 + else:
1.17 + return ""
1.18 +
1.19 def getMonthQueryString(self, argname, month, prefix=1):
1.20 if month is not None:
1.21 if prefix:
1.22 @@ -83,6 +95,11 @@
1.23 self.getQualifiedParameterName("mode"), mode or self.mode
1.24 )
1.25
1.26 + def getFullMonthLabel(self, year_month):
1.27 + page = self.page
1.28 + request = page.request
1.29 + return EventAggregatorSupport.getFullMonthLabel(request, year_month)
1.30 +
1.31 def writeDownloadControls(self):
1.32 page = self.page
1.33 request = page.request
1.34 @@ -98,8 +115,8 @@
1.35 )
1.36 download_all_link = download_dialogue_link + "&doit=1"
1.37 download_link = download_all_link + ("&%s&%s" % (
1.38 - self.getMonthQueryString("start", self.calendar_start, prefix=0),
1.39 - self.getMonthQueryString("end", self.calendar_end, prefix=0)
1.40 + self.getMonthYearQueryString("start", self.calendar_start, prefix=0),
1.41 + self.getMonthYearQueryString("end", self.calendar_end, prefix=0)
1.42 ))
1.43
1.44 # Subscription links just explicitly select the RSS format.
1.45 @@ -131,11 +148,16 @@
1.46
1.47 # Pop-up descriptions of the downloadable calendars.
1.48
1.49 - calendar_period = "%s - %s" % (self.calendar_start, self.calendar_end)
1.50 + calendar_period = "%s - %s" % (
1.51 + self.getFullMonthLabel(self.calendar_start),
1.52 + self.getFullMonthLabel(self.calendar_end)
1.53 + )
1.54 raw_calendar_period = "%s - %s" % (self.raw_calendar_start, self.raw_calendar_end)
1.55
1.56 # Write the controls.
1.57
1.58 + # Download controls.
1.59 +
1.60 output.append(fmt.div(on=1, css_class="event-download-controls"))
1.61 output.append(fmt.span(on=1, css_class="event-download"))
1.62 output.append(linkToPage(request, page, _("Download this view"), download_link))
1.63 @@ -143,30 +165,47 @@
1.64 output.append(fmt.text(calendar_period))
1.65 output.append(fmt.span(on=0))
1.66 output.append(fmt.span(on=0))
1.67 +
1.68 output.append(fmt.span(on=1, css_class="event-download"))
1.69 output.append(linkToPage(request, page, _("Download this calendar"), download_all_link))
1.70 output.append(fmt.span(on=1, css_class="event-download-popup"))
1.71 + output.append(fmt.span(on=1, css_class="event-download-period"))
1.72 + output.append(fmt.text(calendar_period))
1.73 + output.append(fmt.span(on=0))
1.74 + output.append(fmt.span(on=1, css_class="event-download-period-raw"))
1.75 output.append(fmt.text(raw_calendar_period))
1.76 output.append(fmt.span(on=0))
1.77 output.append(fmt.span(on=0))
1.78 + output.append(fmt.span(on=0))
1.79 +
1.80 output.append(fmt.span(on=1, css_class="event-download"))
1.81 output.append(linkToPage(request, page, _("Download..."), download_dialogue_link))
1.82 output.append(fmt.span(on=1, css_class="event-download-popup"))
1.83 output.append(fmt.text(_("Edit download options")))
1.84 output.append(fmt.span(on=0))
1.85 output.append(fmt.span(on=0))
1.86 +
1.87 + # Subscription controls.
1.88 +
1.89 output.append(fmt.span(on=1, css_class="event-download"))
1.90 output.append(linkToPage(request, page, _("Subscribe to this view"), subscribe_link))
1.91 output.append(fmt.span(on=1, css_class="event-download-popup"))
1.92 output.append(fmt.text(calendar_period))
1.93 output.append(fmt.span(on=0))
1.94 output.append(fmt.span(on=0))
1.95 +
1.96 output.append(fmt.span(on=1, css_class="event-download"))
1.97 output.append(linkToPage(request, page, _("Subscribe to this calendar"), subscribe_all_link))
1.98 output.append(fmt.span(on=1, css_class="event-download-popup"))
1.99 + output.append(fmt.span(on=1, css_class="event-download-period"))
1.100 + output.append(fmt.text(calendar_period))
1.101 + output.append(fmt.span(on=0))
1.102 + output.append(fmt.span(on=1, css_class="event-download-period-raw"))
1.103 output.append(fmt.text(raw_calendar_period))
1.104 output.append(fmt.span(on=0))
1.105 output.append(fmt.span(on=0))
1.106 + output.append(fmt.span(on=0))
1.107 +
1.108 output.append(fmt.span(on=1, css_class="event-download"))
1.109 output.append(linkToPage(request, page, _("Subscribe..."), subscribe_dialogue_link))
1.110 output.append(fmt.span(on=1, css_class="event-download-popup"))
1.111 @@ -219,9 +258,6 @@
1.112
1.113 output = []
1.114
1.115 - year, month = year_month.as_tuple()
1.116 - month_label = _(EventAggregatorSupport.getMonthLabel(month))
1.117 -
1.118 # Prepare navigation links.
1.119
1.120 if self.calendar_name is not None:
1.121 @@ -249,7 +285,7 @@
1.122
1.123 # A link leading to this month being at the top of the calendar.
1.124
1.125 - full_month_label = "%s %s" % (month_label, year)
1.126 + full_month_label = self.getFullMonthLabel(year_month)
1.127 end_month = year_month.month_update(self.number_of_months - 1)
1.128
1.129 month_link = self.getNavigationLink(year_month, end_month)
1.130 @@ -270,11 +306,7 @@
1.131
1.132 else:
1.133 output.append(fmt.span(on=1))
1.134 - output.append(fmt.text(month_label))
1.135 - output.append(fmt.span(on=0))
1.136 - output.append(fmt.text(" "))
1.137 - output.append(fmt.span(on=1))
1.138 - output.append(fmt.text(unicode(year)))
1.139 + output.append(fmt.text(full_month_label))
1.140 output.append(fmt.span(on=0))
1.141
1.142 return "".join(output)