From b24f236dfa2903805bc233a7fc97101d912ae3ee Mon Sep 17 00:00:00 2001 From: intrigeri Date: Thu, 1 Jan 2009 16:50:24 +0100 Subject: [PATCH] po: use the new canrename hook to prevent translation renames in the CGI Signed-off-by: intrigeri --- IkiWiki/Plugin/po.pm | 11 +++++++++++ doc/plugins/po.mdwn | 7 ------- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index 5670f3608..2dad3b60b 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -40,6 +40,7 @@ sub import { hook(type => "delete", id => "po", call => \&mydelete); hook(type => "change", id => "po", call => \&change); hook(type => "canremove", id => "po", call => \&canremove); + hook(type => "canrename", id => "po", call => \&canrename); hook(type => "editcontent", id => "po", call => \&editcontent); $origsubs{'bestlink'}=\&IkiWiki::bestlink; @@ -417,6 +418,16 @@ sub canremove ($$$) { return undef; } +sub canrename ($$$) { + my ($page, $cgi, $session) = (shift, shift, shift); + + if (istranslation($page)) { + return gettext("Can not rename a translation. Renaming the master page,". + "though, renames its translations as well."); + } + return undef; +} + # As we're previewing or saving a page, the content may have # changed, so tell the next filter() invocation it must not be lazy. sub editcontent () { diff --git a/doc/plugins/po.mdwn b/doc/plugins/po.mdwn index 919864ede..5337a2ce2 100644 --- a/doc/plugins/po.mdwn +++ b/doc/plugins/po.mdwn @@ -544,13 +544,6 @@ Creating new pages on the web See [[contrib/po|contrib/po]]. -Renaming/deleting pages ------------------------ - -Renaming or deleting a translation in the CGI should be forbidden. -Implementing this requires two new hooks: `canrename` and `canremove`, -that would be run respectively by the `rename` and the `remove` plugins. - Robustness tests ----------------