]> sipb.mit.edu Git - ikiwiki.git/commitdiff
po: use the new canrename hook to prevent translation renames in the CGI
authorintrigeri <intrigeri@boum.org>
Thu, 1 Jan 2009 15:50:24 +0000 (16:50 +0100)
committerintrigeri <intrigeri@boum.org>
Thu, 1 Jan 2009 15:52:43 +0000 (16:52 +0100)
Signed-off-by: intrigeri <intrigeri@boum.org>
IkiWiki/Plugin/po.pm
doc/plugins/po.mdwn

index 5670f3608ef3a5bb8424fffb4c6c3898f72a868f..2dad3b60b898c5e1a3a8b3fb838413fda21b2dfa 100644 (file)
@@ -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 () {
index 919864ede5952e9a613f5c9aa7ec6ed22658b913..5337a2ce230810cd80c679a9497f538ba004c63c 100644 (file)
@@ -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
 ----------------