diff options
author | Joey Hess <joey@kitenet.net> | 2010-08-30 17:58:00 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-08-30 17:58:00 -0400 |
commit | 8030ecac02a743e930e480650e8c14413f26d9a2 (patch) | |
tree | 2071069ca012fd65906fc0696d64ecb467cf8061 /IkiWiki.pm | |
parent | 2b2d777321267af82c5230df35d5c40b65bd8424 (diff) | |
download | ikiwiki-8030ecac02a743e930e480650e8c14413f26d9a2.tar ikiwiki-8030ecac02a743e930e480650e8c14413f26d9a2.tar.gz |
Receive: avoid hiding check_canedit error messages
Avoid the generic "you are not allowed to change" message,
and instead allow check_canedit to propigate out useful error messages.
Went back to calling check_canedit in fatal mode, but added a parameter to
avoid calling the troublesome subs that might cause a login attempt.
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r-- | IkiWiki.pm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm index 6da281999..d114c9a69 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1455,11 +1455,12 @@ sub filter ($$$) { return $content; } -sub check_canedit ($$$;$) { +sub check_canedit ($$$;$$) { my $page=shift; my $q=shift; my $session=shift; my $nonfatal=shift; + my $nosubs=shift; my $canedit; run_hooks(canedit => sub { @@ -1470,6 +1471,7 @@ sub check_canedit ($$$;$) { $canedit=1; } elsif (ref $ret eq 'CODE') { + error(sprintf(gettext("you are not allowed to change %s"), $page)) if $nosubs && ! $nonfatal; $ret->() unless $nonfatal; $canedit=0; } |