1
# -*- coding: iso-8859-1 -*-
3
MoinMoin - This Action is used to create a supplementation subpage e.g. a Discussion page below a comon page
6
derived from the newpage macro by Vito Miliano (vito_moinnewpagewithtemplate@perilith.com) et al
8
@copyright: 2006-2007 MoinMoin:ReimarBauer
9
@license: GNU GPL, see COPYING for details.
11
from MoinMoin.Page import Page
12
from MoinMoin.wikiutil import quoteWikinameURL
14
def execute(pagename, request):
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.")
21
if pagename.endswith(sub_page_name): # sub_sub_page redirects to sub_page
23
url = Page(request, pagename).url(request, query)
24
request.http_redirect(url)
25
elif request.user.may.read(newpagename):
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)
36
request.theme.add_msg(errormsg, "error")
38
request.theme.add_msg(errormsg, "error")