From 4c01891613f68d5eecc9d971717d2a439be041bb Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Thu, 21 Mar 2019 10:16:34 +0000 Subject: [PATCH] Bug 20128: (QA follow-up) Corrections to haspermission The haspermission routine wrongly assumed that get_user_subpermissions would return a list of all subpermissions if the user had the top level permission, but instead if just returns 1. Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer Signed-off-by: Nick Clemens --- C4/Auth.pm | 2 +- t/db_dependent/Auth/haspermission.t | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/C4/Auth.pm b/C4/Auth.pm index 5a0df07bfa..9ac819b437 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -2066,6 +2066,7 @@ sub _dispatch { } } elsif ($ref eq 'HASH') { foreach my $key (keys %{$required}) { + next if $flags == 1; my $require = $required->{$key}; my $rflags = $flags->{$key}; return 0 unless _dispatch($require, $rflags); @@ -2090,7 +2091,6 @@ sub _dispatch { sub haspermission { my ( $userid, $flagsrequired ) = @_; - #Koha::Exceptions::WrongParameter->throw('$flagsrequired should not be undef') # unless defined($flagsrequired); diff --git a/t/db_dependent/Auth/haspermission.t b/t/db_dependent/Auth/haspermission.t index 0eb6c3c3c5..064422b013 100644 --- a/t/db_dependent/Auth/haspermission.t +++ b/t/db_dependent/Auth/haspermission.t @@ -111,7 +111,7 @@ subtest 'scalar top level tests' => sub { subtest 'hashref top level AND tests' => sub { - plan tests => 15; + plan tests => 16; # Check top level permission for superlibrarian my $r = -- 2.39.5