diff options
author | intrigeri <intrigeri@boum.org> | 2009-01-01 16:50:24 +0100 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2009-01-01 16:52:43 +0100 |
commit | b24f236dfa2903805bc233a7fc97101d912ae3ee (patch) | |
tree | ea9a0cf64dce136b3c4ec1b37522d60cd00f95bd | |
parent | 3316f9cc737c091ff79270f75fc30dd349616b12 (diff) |
po: use the new canrename hook to prevent translation renames in the CGI
Signed-off-by: intrigeri <intrigeri@boum.org>
-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 ---------------- |