1.1 --- a/macros/EventAggregator.py Fri Nov 25 00:04:53 2011 +0100
1.2 +++ b/macros/EventAggregator.py Tue Nov 29 00:33:14 2011 +0100
1.3 @@ -142,7 +142,7 @@
1.4 if date is not None:
1.5 if prefix:
1.6 argname = self.getQualifiedParameterName(argname)
1.7 - return "%s=%s" % (argname, date)
1.8 + return "%s=%s" % (argname, wikiutil.url_quote_plus(date))
1.9 else:
1.10 return ""
1.11
1.12 @@ -250,6 +250,10 @@
1.13
1.14 output = []
1.15
1.16 + # The full URL is needed for webcal links.
1.17 +
1.18 + full_url = "%s%s" % (request.getBaseURL(), getPathInfo(request))
1.19 +
1.20 # Generate the links.
1.21
1.22 download_dialogue_link = "action=EventAggregatorSummary&parent=%s&resolution=%s&%s&%s" % (
1.23 @@ -302,61 +306,101 @@
1.24 # Download controls.
1.25
1.26 output.append(fmt.div(on=1, css_class="event-download-controls"))
1.27 +
1.28 output.append(fmt.span(on=1, css_class="event-download"))
1.29 - output.append(linkToPage(request, page, _("Download this view"), download_link))
1.30 - output.append(fmt.span(on=1, css_class="event-download-popup"))
1.31 + output.append(fmt.text(_("Download...")))
1.32 + output.append(fmt.div(on=1, css_class="event-download-popup"))
1.33 +
1.34 + output.append(fmt.div(on=1, css_class="event-download-item"))
1.35 + output.append(fmt.span(on=1, css_class="event-download-types"))
1.36 + output.append(fmt.span(on=1, css_class="event-download-webcal"))
1.37 + output.append(linkToResource(full_url.replace("http", "webcal", 1), request, _("webcal"), download_link))
1.38 + output.append(fmt.span(on=0))
1.39 + output.append(fmt.span(on=1, css_class="event-download-http"))
1.40 + output.append(linkToPage(request, page, _("http"), download_link))
1.41 + output.append(fmt.span(on=0))
1.42 + output.append(fmt.span(on=0)) # end types
1.43 + output.append(fmt.span(on=1, css_class="event-download-label"))
1.44 + output.append(fmt.text(_("Download this view")))
1.45 + output.append(fmt.span(on=0)) # end label
1.46 + output.append(fmt.span(on=1, css_class="event-download-period"))
1.47 output.append(fmt.text(calendar_period))
1.48 output.append(fmt.span(on=0))
1.49 + output.append(fmt.div(on=0))
1.50 +
1.51 + output.append(fmt.div(on=1, css_class="event-download-item"))
1.52 + output.append(fmt.span(on=1, css_class="event-download-types"))
1.53 + output.append(fmt.span(on=1, css_class="event-download-webcal"))
1.54 + output.append(linkToResource(full_url.replace("http", "webcal", 1), request, _("webcal"), download_all_link))
1.55 output.append(fmt.span(on=0))
1.56 -
1.57 - output.append(fmt.span(on=1, css_class="event-download"))
1.58 - output.append(linkToPage(request, page, _("Download this calendar"), download_all_link))
1.59 - output.append(fmt.span(on=1, css_class="event-download-popup"))
1.60 + output.append(fmt.span(on=1, css_class="event-download-http"))
1.61 + output.append(linkToPage(request, page, _("http"), download_all_link))
1.62 + output.append(fmt.span(on=0))
1.63 + output.append(fmt.span(on=0)) # end types
1.64 + output.append(fmt.span(on=1, css_class="event-download-label"))
1.65 + output.append(fmt.text(_("Download this calendar")))
1.66 + output.append(fmt.span(on=0)) # end label
1.67 output.append(fmt.span(on=1, css_class="event-download-period"))
1.68 output.append(fmt.text(original_calendar_period))
1.69 output.append(fmt.span(on=0))
1.70 output.append(fmt.span(on=1, css_class="event-download-period-raw"))
1.71 output.append(fmt.text(raw_calendar_period))
1.72 output.append(fmt.span(on=0))
1.73 - output.append(fmt.span(on=0))
1.74 - output.append(fmt.span(on=0))
1.75 -
1.76 - output.append(fmt.span(on=1, css_class="event-download"))
1.77 + output.append(fmt.div(on=0))
1.78 +
1.79 + output.append(fmt.div(on=1, css_class="event-download-item"))
1.80 + output.append(fmt.span(on=1, css_class="event-download-label"))
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.span(on=0)) # end label
1.84 + output.append(fmt.span(on=1, css_class="event-download-period"))
1.85 output.append(fmt.text(_("Edit download options")))
1.86 output.append(fmt.span(on=0))
1.87 - output.append(fmt.span(on=0))
1.88 + output.append(fmt.div(on=0))
1.89 +
1.90 + output.append(fmt.div(on=0)) # end of pop-up
1.91 + output.append(fmt.span(on=0)) # end of download
1.92
1.93 # Subscription controls.
1.94
1.95 output.append(fmt.span(on=1, css_class="event-download"))
1.96 + output.append(fmt.text(_("Subscribe...")))
1.97 + output.append(fmt.div(on=1, css_class="event-download-popup"))
1.98 +
1.99 + output.append(fmt.div(on=1, css_class="event-download-item"))
1.100 + output.append(fmt.span(on=1, css_class="event-download-label"))
1.101 output.append(linkToPage(request, page, _("Subscribe to this view"), subscribe_link))
1.102 - output.append(fmt.span(on=1, css_class="event-download-popup"))
1.103 + output.append(fmt.span(on=0)) # end label
1.104 + output.append(fmt.span(on=1, css_class="event-download-period"))
1.105 output.append(fmt.text(calendar_period))
1.106 output.append(fmt.span(on=0))
1.107 - output.append(fmt.span(on=0))
1.108 -
1.109 - output.append(fmt.span(on=1, css_class="event-download"))
1.110 + output.append(fmt.div(on=0))
1.111 +
1.112 + output.append(fmt.div(on=1, css_class="event-download-item"))
1.113 + output.append(fmt.span(on=1, css_class="event-download-label"))
1.114 output.append(linkToPage(request, page, _("Subscribe to this calendar"), subscribe_all_link))
1.115 - output.append(fmt.span(on=1, css_class="event-download-popup"))
1.116 + output.append(fmt.span(on=0)) # end label
1.117 output.append(fmt.span(on=1, css_class="event-download-period"))
1.118 output.append(fmt.text(original_calendar_period))
1.119 output.append(fmt.span(on=0))
1.120 output.append(fmt.span(on=1, css_class="event-download-period-raw"))
1.121 output.append(fmt.text(raw_calendar_period))
1.122 output.append(fmt.span(on=0))
1.123 - output.append(fmt.span(on=0))
1.124 - output.append(fmt.span(on=0))
1.125 -
1.126 - output.append(fmt.span(on=1, css_class="event-download"))
1.127 + output.append(fmt.div(on=0))
1.128 +
1.129 + output.append(fmt.div(on=1, css_class="event-download-item"))
1.130 + output.append(fmt.span(on=1, css_class="event-download-label"))
1.131 output.append(linkToPage(request, page, _("Subscribe..."), subscribe_dialogue_link))
1.132 - output.append(fmt.span(on=1, css_class="event-download-popup"))
1.133 + output.append(fmt.span(on=0)) # end label
1.134 + output.append(fmt.span(on=1, css_class="event-download-period"))
1.135 output.append(fmt.text(_("Edit subscription options")))
1.136 output.append(fmt.span(on=0))
1.137 - output.append(fmt.span(on=0))
1.138 output.append(fmt.div(on=0))
1.139
1.140 + output.append(fmt.div(on=0)) # end of pop-up
1.141 + output.append(fmt.span(on=0)) # end of download
1.142 +
1.143 + output.append(fmt.div(on=0)) # end of controls
1.144 +
1.145 return "".join(output)
1.146
1.147 def writeViewControls(self):