From 8d2d63f7ae0f1da9e5ccd796a5dc7f0ba90ea93a Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Wed, 5 Oct 2022 15:14:22 -0300 Subject: [PATCH] Bug 31333: (QA follow-up) Simplify code The new syspref is a deny-list. So not being part of the list means you are allowed. This was not that clear reading the code, so this patch tries to simplify the logic. Better handling on undef syspref value is added as well to avoid useless warnings. This patch does the following changes: - Uses `any` instead of `grep`. This has the effect of just returning a boolean on the first match, instead of keep looping until de array Signed-off-by: Tomas Cohen Arazi --- Koha/Patron/Category.pm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Koha/Patron/Category.pm b/Koha/Patron/Category.pm index 39c56be14a..b700cb298c 100644 --- a/Koha/Patron/Category.pm +++ b/Koha/Patron/Category.pm @@ -220,14 +220,13 @@ sub can_make_suggestions { my ( $self ) = @_; if ( C4::Context->preference('suggestion') ) { - my @patron_categories = split ',', C4::Context->preference('suggestionPatronCategoryExceptions'); - if ( @patron_categories ) { - my $categorycode = $self->categorycode; - return if grep {$_ eq $categorycode } @patron_categories; - } - return 1; + + my @patron_categories = split ',', C4::Context->preference('suggestionPatronCategoryExceptions') // q{}; + + return !any {$_ eq $self->categorycode } @patron_categories; } - return; + + return 0; } =head2 Internal methods -- 2.39.5