diff options
-rw-r--r-- | IkiWiki/Plugin/po.pm | 11 | ||||
-rw-r--r-- | 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 ---------------- |