]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/po.pm
rename: pass the CGI and session to the rename hook
[git.ikiwiki.info.git] / IkiWiki / Plugin / po.pm
index 205066341fc2105b436d7439312729c5dc06e680..2dad3b60b898c5e1a3a8b3fb838413fda21b2dfa 100644 (file)
@@ -39,6 +39,8 @@ sub import {
        hook(type => "rename", id => "po", call => \&renamepages);
        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;
@@ -406,6 +408,26 @@ sub change(@) {
        }
 }
 
+sub canremove ($$$) {
+       my ($page, $cgi, $session) = (shift, shift, shift);
+
+       if (istranslation($page)) {
+               return gettext("Can not remove a translation. Removing the master page,".
+                              "though, removes its translations as well.");
+       }
+       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 () {