1
# -*- coding: iso-8859-1 -*-
3
MoinMoin - subscribe to a page to get notified when it changes
5
@copyright: 2000-2004 Juergen Hermann <jh@web.de>,
6
2006 MoinMoin:ThomasWaldmann
7
@license: GNU GPL, see COPYING for details.
9
from MoinMoin.Page import Page
11
def execute(pagename, request):
12
""" Subscribe the user to pagename """
14
if not request.user.valid:
15
actname = __name__.split('.')[-1]
16
request.theme.add_msg(_("You must login to use this action: %(action)s.") % {"action": actname}, "error")
17
return Page(request, pagename).send_page()
21
if not request.user.may.read(pagename):
22
request.theme.add_msg(_("You are not allowed to subscribe to a page you can't read."), "error")
24
# Check if mail is enabled
25
elif not cfg.mail_enabled and not cfg.jabber_enabled:
26
request.theme.add_msg(_("This wiki is not enabled for mail/Jabber processing."), "error")
28
# Suggest visitors to login
29
elif not request.user.valid:
30
request.theme.add_msg(_("You must log in to use subscriptions."), "error")
32
# Suggest users without email to add their email address
33
elif not request.user.email and not request.user.jid:
34
request.theme.add_msg(_("Add your email address or Jabber ID in your user settings to use subscriptions."),
37
elif request.user.isSubscribedTo([pagename]):
38
request.theme.add_msg(_('You are already subscribed to this page.'))
41
if request.user.subscribe(pagename):
42
request.theme.add_msg(_('You have been subscribed to this page.'), "info")
43
else: # should not happen
44
request.theme.add_msg(_('You could not get subscribed to this page.'), "error")
46
Page(request, pagename).send_page()