view MoinMoin/action/ @ 2966:ba14d391c2ba

Refactor all modules to use the new add_msg interface in 1.7 (done by Frederico Lorenzi). Should not be backported to 1.6 but instead the separate patch from should be used.
author Alexander Schremmer <alex AT alexanderweb DOT de>
date Sun, 23 Dec 2007 23:52:43 +0100
parents 37449fd9e70a
children f48d46b39364
line wrap: on
line source

# -*- coding: iso-8859-1 -*-
    MoinMoin - subscribe to a page to get notified when it changes

    @copyright: 2000-2004 Juergen Hermann <>,
                2006 MoinMoin:ThomasWaldmann
    @license: GNU GPL, see COPYING for details.
from MoinMoin.Page import Page

def execute(pagename, request):
    """ Subscribe or unsubscribe the user to pagename """
    _ = request.getText
    cfg = request.cfg

    if not
        request.theme.add_msg(_("You are not allowed to subscribe to a page you can't read."), "error")

    # Check if mail is enabled
    elif not cfg.mail_enabled and not cfg.jabber_enabled:
        request.theme.add_msg(_("This wiki is not enabled for mail/Jabber processing."), "error")

    # Suggest visitors to login
    elif not request.user.valid:
        request.theme.add_msg(_("You must log in to use subscriptions."), "error")

    # Suggest users without email to add their email address
    elif not and not request.user.jid:
        request.theme.add_msg(_("Add your email address or Jabber ID in your UserPreferences to use subscriptions."), "error")

    elif request.user.isSubscribedTo([pagename]):
        # Try to unsubscribe
        if request.user.unsubscribe(pagename):
            request.theme.add_msg(_('Your subscription to this page has been removed.'), "info")
            request.theme.add_msg(_("Can't remove regular expression subscription!") + u' ' + \
                  _("Edit the subscription regular expressions in your "
                    "UserPreferences."), "error")

        # Try to subscribe
        if request.user.subscribe(pagename):
            request.theme.add_msg(_('You have been subscribed to this page.'), "info")
        else: # should not happen
            request.theme.add_msg(_('You could not get subscribed to this page.'), "error")

    Page(request, pagename).send_page()