From 148a75af9f7c014a36277092ff5db02980611017 Mon Sep 17 00:00:00 2001 From: Antoine Durand-Gasselin Date: Sat, 18 Oct 2008 02:44:35 +0200 Subject: [PATCH] =?UTF-8?q?[wiki-lenny/PageGraphicalEditor.py]=20Restreind?= =?UTF-8?q?re=20l'utilisation=20du=20GUI=20=C3=A0=20l'=C3=A9dition?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Les pages dans la catégorie CatégorieEditeurGraphiqueInterdit ne peuvent être éditées au moyen de l'éditeur graphique. L'utilisateur est redirigé vers l'éditeur texte *BUGS* Il y a trop d'effets de bords trop sales pour que je puisse me prononcer sur la probabilité de bugs introduits par mon patch. darcs-hash:20081018004435-bd074-baf51a18274088abe4e21b399cec8e4d3015b436.gz --- wiki-lenny/PageGraphicalEditor.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) 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: