diff --git a/wiki-lenny/PageGraphicalEditor.py b/wiki-lenny/PageGraphicalEditor.py index 04005739..25c56734 100644 --- a/wiki-lenny/PageGraphicalEditor.py +++ b/wiki-lenny/PageGraphicalEditor.py @@ -1,4 +1,4 @@ -# -*- coding: iso-8859-1 -*- +# -*- coding: utf-8 -*- """ MoinMoin - Call the GUI editor (FCKeditor) @@ -52,7 +52,8 @@ class PageGraphicalEditor(PageEditor.PageEditor): form = request.form _ = self._ request.disableHttpCaching(level=2) - request.emit_http_headers() + page_categories = self.getCategories(request) + raw_body = '' msg = None @@ -63,13 +64,24 @@ class PageGraphicalEditor(PageEditor.PageEditor): # check edit permissions if not request.user.may.write(self.page_name): + # L'effet de bord dans le test empêche-t-il la ligne suivante + # d'être exécutée ? msg = _('You are not allowed to edit this page.') elif not self.isWritable(): + # même remarque. msg = _('Page is immutable!') elif self.rev: # Trying to edit an old version, this is not possible via # the web interface, but catch it just in case... msg = _('Cannot edit old revisions!') + elif u"CatégorieEditeurGraphiqueInterdit" in page_categories: + msg =_('Cannot edit this page with the graphical editor') + request.theme.add_msg(msg, "error") + from MoinMoin.PageEditor import PageEditor + # Pour éviter à l'utilisateur de rester sur le cul, on le + # redirige vers l'éditeur texte + pg = PageEditor(request, self.page_name, **kw) + pg.sendEditor() else: # try to acquire edit lock ok, edit_lock_message = self.lock.acquire() @@ -84,9 +96,14 @@ class PageGraphicalEditor(PageEditor.PageEditor): # Did one of the prechecks fail? if msg: request.theme.add_msg(msg, "error") + # Il est manifestement hors de question d'avoir envoyé les + # headers http avant d'appeler cette fonction self.send_page() return + # par contre, il faut les envoyer dans le cas contraire + request.emit_http_headers() + # check if we want to load a draft use_draft = None if 'button_load_draft' in form: