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

« back to all changes in this revision

Viewing changes to MoinMoin/action/edit.py

  • Committer: Bazaar Package Importer
  • Author(s): Jonas Smedegaard
  • Date: 2008-06-22 21:17:13 UTC
  • mto: This revision was merged to the branch mainline in revision 18.
  • Revision ID: james.westby@ubuntu.com-20080622211713-inlv5k4eifxckelr
ImportĀ upstreamĀ versionĀ 1.7.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
"""
11
11
from MoinMoin import wikiutil
12
12
from MoinMoin.Page import Page
13
 
from MoinMoin.web.utils import check_surge_protect
14
13
 
15
14
def execute(pagename, request):
16
15
    """ edit a page """
18
17
 
19
18
    if 'button_preview' in request.form and 'button_spellcheck' in request.form:
20
19
        # multiple buttons pressed at once? must be some spammer/bot
21
 
        check_surge_protect(request, kick=True) # get rid of him
 
20
        request.makeForbidden403()
 
21
        request.surge_protect(kick_him=True) # get rid of him
22
22
        return
23
23
 
24
24
    if not request.user.may.write(pagename):
25
 
        page = wikiutil.getLocalizedPage(request, 'PermissionDeniedPage')
26
 
        page.body = _('You are not allowed to edit this page.')
27
 
        page.page_name = pagename
28
 
        page.send_page(send_special=True)
 
25
        request.theme.add_msg(_('You are not allowed to edit this page.'), "error")
 
26
        Page(request, pagename).send_page()
29
27
        return
30
28
 
31
29
    valideditors = ['text', 'gui', ]
35
33
    if editor not in valideditors:
36
34
        editor = request.cfg.editor_default
37
35
 
38
 
    editorparam = request.values.get('editor', editor)
 
36
    editorparam = request.form.get('editor', [editor])[0]
39
37
    if editorparam == "guipossible":
40
38
        lasteditor = editor
41
39
    elif editorparam == "textonly":
51
49
        editor = 'text'
52
50
 
53
51
    rev = request.rev or 0
54
 
    savetext = request.form.get('savetext')
55
 
    comment = request.form.get('comment', u'')
56
 
    category = request.form.get('category')
57
 
    rstrip = int(request.form.get('rstrip', '0'))
58
 
    trivial = int(request.form.get('trivial', '0'))
 
52
    savetext = request.form.get('savetext', [None])[0]
 
53
    comment = request.form.get('comment', [u''])[0]
 
54
    category = request.form.get('category', [None])[0]
 
55
    rstrip = int(request.form.get('rstrip', ['0'])[0])
 
56
    trivial = int(request.form.get('trivial', ['0'])[0])
59
57
 
60
58
    if 'button_switch' in request.form:
61
59
        if editor == 'text':
79
77
    # did user hit cancel button?
80
78
    cancelled = 'button_cancel' in request.form
81
79
 
 
80
    if request.cfg.edit_ticketing:
 
81
        ticket = request.form.get('ticket', [''])[0]
 
82
        if not wikiutil.checkTicket(request, ticket):
 
83
            request.theme.add_msg(_('Please use the interactive user interface to use action %(actionname)s!') % {'actionname': 'edit' }, "error")
 
84
            pg.send_page()
 
85
            return
 
86
 
82
87
    from MoinMoin.error import ConvertError
83
88
    try:
84
89
        if lasteditor == 'gui':
85
90
            # convert input from Graphical editor
86
 
            format = request.form.get('format', 'wiki')
 
91
            format = request.form.get('format', ['wiki'])[0]
87
92
            if format == 'wiki':
88
93
                converter_name = 'text_html_text_moin_wiki'
89
94
            else:
140
145
            savetext += ' '
141
146
        savetext += category + u'\n' # Should end with newline!
142
147
 
143
 
    if (request.cfg.edit_ticketing and
144
 
        not wikiutil.checkTicket(request, request.form.get('ticket', ''))):
145
 
        request.theme.add_msg(_('Please use the interactive user interface to use action %(actionname)s!') % {'actionname': 'edit' }, "error")
146
 
        pg.sendEditor(preview=savetext, comment=comment, staytop=1)
147
 
 
148
148
    # Preview, spellcheck or spellcheck add new words
149
 
    elif ('button_preview' in request.form or
 
149
    if ('button_preview' in request.form or
150
150
        'button_spellcheck' in request.form or
151
151
        'button_newwords' in request.form):
152
152
        pg.sendEditor(preview=savetext, comment=comment)