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

« back to all changes in this revision

Viewing changes to MoinMoin/action/MyPages.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:
2
2
"""
3
3
    MoinMoin - MyPages - assisting creation of Homepage subpages
4
4
 
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.
7
7
"""
8
8
 
12
12
 
13
13
    _ = request.getText
14
14
    thispage = Page(request, pagename)
15
 
    
 
15
 
16
16
    if request.user.valid:
17
17
        username = request.user.name
18
18
    else:
19
19
        username = ''
20
20
 
21
21
    if not username:
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()
24
24
 
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)
32
 
        
 
32
 
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()
37
37
 
38
38
    pagecontent = _("""\
39
39
You can add some additional sub pages to your already existing homepage here.
48
48
the group pages.
49
49
 
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||
54
54
 
55
 
""", formatted=False)
 
55
""")
56
56
    pagecontent = pagecontent % locals()
57
57
 
58
58
    pagecontent = pagecontent.replace('\n', '\r\n')
59
59
 
60
 
    from MoinMoin.Page import Page
61
 
    from MoinMoin.parser.wiki import Parser
62
 
    from MoinMoin.formatter.text_html import Formatter
63
 
    pagename = username
64
 
    request.http_headers()
65
 
    
 
60
    from MoinMoin.parser.text_moin_wiki import Parser as WikiParser
 
61
    request.emit_http_headers()
 
62
 
66
63
    # This action generate data using the user language
67
64
    request.setContentLanguage(request.lang)
68
 
 
69
 
    wikiutil.send_title(request, _('MyPages management', formatted=False), pagename=pagename)
70
 
        
71
 
    # Start content - IMPORTANT - without content div, there is no
72
 
    # direction support!
 
65
    request.theme.send_title(_('MyPages management'), page=homepage)
 
66
 
 
67
    parser = WikiParser(pagecontent, request)
 
68
    p = Page(request, "$$$")
 
69
    request.formatter.setPage(p)
 
70
    parser.format(request.formatter)
 
71
 
 
72
    # Start content - IMPORTANT - without content div, there is no direction support!
73
73
    request.write(request.formatter.startContent("content"))
74
74
 
75
 
    parser = Parser(pagecontent, request)
76
 
    formatter = Formatter(request)
77
 
    reqformatter = None
78
 
    if hasattr(request, 'formatter'):
79
 
        reqformatter = request.formatter
80
 
    request.formatter = formatter
81
 
    p = Page(request, "$$$")
82
 
    formatter.setPage(p)
83
 
    parser.format(formatter)
84
 
    if reqformatter == None:
85
 
        del request.formatter
86
 
    else:
87
 
        request.formatter = reqformatter
88
 
 
89
 
    # End content and send footer
90
75
    request.write(request.formatter.endContent())
91
 
    wikiutil.send_footer(request, pagename)
92
 
 
 
76
    request.theme.send_footer(homepage.page_name)
 
77
    request.theme.send_closing_html()
93
78