3
3
MoinMoin - MyPages - assisting creation of Homepage subpages
5
@copyright: (c) Bastian Blank, Florian Festi, Thomas Waldmann
5
@copyright: 2005-2006 Bastian Blank, Florian Festi, Thomas Waldmann
6
6
@license: GNU GPL, see COPYING for details.
13
13
_ = request.getText
14
14
thispage = Page(request, pagename)
16
16
if request.user.valid:
17
17
username = request.user.name
22
return thispage.send_page(request,
23
msg = _('Please log in first.'))
22
request.theme.add_msg(_('Please log in first.'), "error")
23
return thispage.send_page()
25
25
userhomewiki = request.cfg.user_homewiki
26
26
if userhomewiki != 'Self' and userhomewiki != request.cfg.interwikiname:
27
27
interwiki = wikiutil.getInterwikiHomePage(request, username=username)
28
wikitag, wikiurl, wikitail, wikitag_bad = wikiutil.resolve_wiki(request, '%s:%s' % interwiki)
28
wikitag, wikiurl, wikitail, wikitag_bad = wikiutil.resolve_interwiki(request, *interwiki)
29
29
wikiurl = wikiutil.mapURL(request, wikiurl)
30
30
homepageurl = wikiutil.join_wiki(wikiurl, wikitail)
31
31
request.http_redirect('%s?action=MyPages' % homepageurl)
33
33
homepage = Page(request, username)
34
34
if not homepage.exists():
35
return homepage.send_page(request,
36
msg = _('Please first create a homepage before creating additional pages.'))
35
request.theme.add_msg(_('Please first create a homepage before creating additional pages.'), "error")
36
return homepage.send_page()
38
38
pagecontent = _("""\
39
39
You can add some additional sub pages to your already existing homepage here.
50
50
||'''Add a new personal page:'''||'''Related access control list group:'''||
51
||[[NewPage(HomepageReadWritePageTemplate,read-write page,%(username)s)]]||["%(username)s/ReadWriteGroup"]||
52
||[[NewPage(HomepageReadPageTemplate,read-only page,%(username)s)]]||["%(username)s/ReadGroup"]||
53
||[[NewPage(HomepagePrivatePageTemplate,private page,%(username)s)]]||%(username)s only||
51
||<<NewPage(HomepageReadWritePageTemplate,read-write page,%(username)s)>>||[[%(username)s/ReadWriteGroup]]||
52
||<<NewPage(HomepageReadPageTemplate,read-only page,%(username)s)>>||[[%(username)s/ReadGroup]]||
53
||<<NewPage(HomepagePrivatePageTemplate,private page,%(username)s)>>||%(username)s only||
56
56
pagecontent = pagecontent % locals()
58
58
pagecontent = pagecontent.replace('\n', '\r\n')
60
from MoinMoin.Page import Page
61
from MoinMoin.parser.wiki import Parser
62
from MoinMoin.formatter.text_html import Formatter
64
request.http_headers()
60
from MoinMoin.parser.text_moin_wiki import Parser as WikiParser
61
request.emit_http_headers()
66
63
# This action generate data using the user language
67
64
request.setContentLanguage(request.lang)
69
wikiutil.send_title(request, _('MyPages management', formatted=False), pagename=pagename)
71
# Start content - IMPORTANT - without content div, there is no
65
request.theme.send_title(_('MyPages management'), page=homepage)
67
parser = WikiParser(pagecontent, request)
68
p = Page(request, "$$$")
69
request.formatter.setPage(p)
70
parser.format(request.formatter)
72
# Start content - IMPORTANT - without content div, there is no direction support!
73
73
request.write(request.formatter.startContent("content"))
75
parser = Parser(pagecontent, request)
76
formatter = Formatter(request)
78
if hasattr(request, 'formatter'):
79
reqformatter = request.formatter
80
request.formatter = formatter
81
p = Page(request, "$$$")
83
parser.format(formatter)
84
if reqformatter == None:
87
request.formatter = reqformatter
89
# End content and send footer
90
75
request.write(request.formatter.endContent())
91
wikiutil.send_footer(request, pagename)
76
request.theme.send_footer(homepage.page_name)
77
request.theme.send_closing_html()