From efa292daf76587728fe85fb3a44f3204fbdbf08f Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 6 Jan 2022 07:13:57 -0300 Subject: [PATCH] Bug 29804: Fix Koha::Hold->is_pickup_location_valid exploding This trivial patch acknowledges the fact bug 28871 is probably not going to be pushed, and changes the method so it, internally, uses Koha::Item->pickup_locations and Koha::Biblio->pickup_locations in scalar context. This is probably the correct solution as the discussion on bug 28883 points towards the future removal of the use of wantarray altogether, eventually. To test: 1. Apply the regression tests patch 2. Run: $ kshell k$ prove t/db_dependent/Koha/Hold.t => FAIL: It explodes as we see in production, with: The method Koha::Libraries->branchcode is not covered by tests! 3. Apply this patch 4. Repeat 2 => SUCCESS: Tests pass! 5. Sign off :-D Signed-off-by: Tomas Cohen Arazi Signed-off-by: David Nind --- Koha/Hold.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Koha/Hold.pm b/Koha/Hold.pm index 9736dc527f..5b258aafaa 100644 --- a/Koha/Hold.pm +++ b/Koha/Hold.pm @@ -238,16 +238,16 @@ sub is_pickup_location_valid { Koha::Exceptions::MissingParameter->throw('The library_id parameter is mandatory') unless $params->{library_id}; - my @pickup_locations; + my $pickup_locations; if ( $self->itemnumber ) { # item-level - @pickup_locations = $self->item->pickup_locations({ patron => $self->patron }); + $pickup_locations = $self->item->pickup_locations({ patron => $self->patron }); } else { # biblio-level - @pickup_locations = $self->biblio->pickup_locations({ patron => $self->patron }); + $pickup_locations = $self->biblio->pickup_locations({ patron => $self->patron }); } - return any { $_->branchcode eq $params->{library_id} } @pickup_locations; + return any { $_->branchcode eq $params->{library_id} } $pickup_locations->as_list; } =head3 set_pickup_location -- 2.30.2