From 8030ecac02a743e930e480650e8c14413f26d9a2 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 30 Aug 2010 17:58:00 -0400 Subject: 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. --- IkiWiki/Receive.pm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'IkiWiki/Receive.pm') diff --git a/IkiWiki/Receive.pm b/IkiWiki/Receive.pm index cd746c95f..3a5f91758 100644 --- a/IkiWiki/Receive.pm +++ b/IkiWiki/Receive.pm @@ -95,12 +95,12 @@ sub test () { if ($change->{action} eq 'change' || $change->{action} eq 'add') { if (defined $page) { - next if IkiWiki::check_canedit($page, $cgi, $session, 1); + IkiWiki::check_canedit($page, $cgi, $session, 0, 1); } else { if (IkiWiki::Plugin::attachment->can("check_canattach")) { IkiWiki::Plugin::attachment::check_canattach($session, $file, $change->{path}); - next if IkiWiki::check_canedit($file, $cgi, $session, 1); + IkiWiki::check_canedit($file, $cgi, $session, 0, 1); } } } @@ -116,14 +116,12 @@ sub test () { if (IkiWiki::Plugin::remove->can("check_canremove")) { IkiWiki::Plugin::remove::check_canremove(defined $page ? $page : $file, $cgi, $session); - next if IkiWiki::check_canedit(defined $page ? $page : $file, $cgi, $session, 1); + IkiWiki::check_canedit(defined $page ? $page : $file, $cgi, $session, 0, 1); } } else { error "unknown action ".$change->{action}; } - - error sprintf(gettext("you are not allowed to change %s"), $file); } exit 0; -- cgit v1.2.3