Mercurial > moin-europython
diff europython.py @ 21:c636bfecbb1d
Add a subscribe link next to the page title.
| author | Radomir Dopieralski <sheep@stxnext.pl> |
|---|---|
| date | Tue, 15 Mar 2011 14:58:31 +0100 |
| parents | 824ef25c04fd |
| children | 2be4ac3eeded |
line wrap: on
line diff
--- a/europython.py Mon Mar 14 17:21:35 2011 +0100 +++ b/europython.py Tue Mar 15 14:58:31 2011 +0100 @@ -68,5 +68,36 @@ } del _ + def subscribeLink(self, page): + """ Return subscribe/unsubscribe link to valid users + + @rtype: unicode + @return: subscribe or unsubscribe link + """ + if not ((self.cfg.mail_enabled or + self.cfg.jabber_enabled) and self.request.user.valid): + return '' + + _ = self.request.getText + if self.request.user.isSubscribedTo([page.page_name]): + action, text = 'unsubscribe', _("Unsubscribe") + else: + action, text = 'subscribe', _("Subscribe") + if action in self.request.cfg.actions_excluded: + return '' + return page.link_to(self.request, text=text, + querystr={'action': action}, + css_class='nbsubscribe %s' % action, + rel='nofollow') + + def wikipanel(self, d): + """ Create wiki panel """ + _ = self.request.getText + html = [ + u'<div id="star">', self.subscribeLink(d['page']), '</div>', + u'<div class="sidepanel">', self.navibar(d), u'</div>', + ] + return u'\n'.join(html) + def execute(request): return Theme(request)
