~ubuntu-branches/ubuntu/natty/moin/natty-updates

« back to all changes in this revision

Viewing changes to MoinMoin/action/supplementation.py

  • Committer: Bazaar Package Importer
  • Author(s): Jonas Smedegaard
  • Date: 2008-06-22 21:17:13 UTC
  • mfrom: (0.9.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080622211713-fpo2zrq3s5dfecxg
Tags: 1.7.0-3
Simplify /etc/moin/wikilist format: "USER URL" (drop unneeded middle
CONFIG_DIR that was wrongly advertised as DATA_DIR).  Make
moin-mass-migrate handle both formats and warn about deprecation of
the old one.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: iso-8859-1 -*-
 
2
"""
 
3
    MoinMoin -  This Action is used to create a supplementation subpage e.g. a Discussion page below a comon page
 
4
 
 
5
    Note:
 
6
    derived from the newpage macro by Vito Miliano (vito_moinnewpagewithtemplate@perilith.com) et al
 
7
 
 
8
    @copyright: 2006-2007 MoinMoin:ReimarBauer
 
9
    @license: GNU GPL, see COPYING for details.
 
10
"""
 
11
from MoinMoin.Page import Page
 
12
from MoinMoin.wikiutil import quoteWikinameURL
 
13
 
 
14
def execute(pagename, request):
 
15
    _ = request.getText
 
16
    sub_page_name = request.cfg.supplementation_page_name
 
17
    sub_page_template = request.cfg.supplementation_page_template
 
18
    newpagename = "%s/%s" % (pagename, sub_page_name)
 
19
    errormsg = _("You are not allowed to create the supplementation page.")
 
20
 
 
21
    if pagename.endswith(sub_page_name): # sub_sub_page redirects to sub_page
 
22
        query = {}
 
23
        url = Page(request, pagename).url(request, query)
 
24
        request.http_redirect(url)
 
25
    elif request.user.may.read(newpagename):
 
26
        query = {}
 
27
        url = Page(request, newpagename).url(request, query)
 
28
        test = Page(request, newpagename)
 
29
        if test.exists(): # page is defined -> redirect
 
30
            request.http_redirect(url)
 
31
        elif request.user.may.write(newpagename):  # page will be created from template
 
32
            query = {'action': 'edit', 'backto': newpagename, 'template': quoteWikinameURL(sub_page_template)}
 
33
            url = Page(request, newpagename).url(request, query)
 
34
            request.http_redirect(url)
 
35
        else:
 
36
            request.theme.add_msg(errormsg, "error")
 
37
    else:
 
38
        request.theme.add_msg(errormsg, "error")
 
39