From 99e9022c0b0dad943cd804c7223e76cea28180b2 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Fri, 18 Feb 2022 14:25:41 +0000 Subject: [PATCH] Bug 30133: Avoid calling c->objects->search twice Calling this twice sets double pagination headers, which messes up the page for the requests and retrieves on ly the end of the list This patch simply avoids a doulbe call TO DO: must implement same for Biblio->pickup_locations and cover with tests this also returns all as needing override Signed-off-by: Tomas Cohen Arazi Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Jonathan Druart --- Koha/REST/V1/Items.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Koha/REST/V1/Items.pm b/Koha/REST/V1/Items.pm index 1887bce5145..df0103700c1 100644 --- a/Koha/REST/V1/Items.pm +++ b/Koha/REST/V1/Items.pm @@ -115,9 +115,7 @@ sub pickup_locations { my $ps_set = $item->pickup_locations( { patron => $patron } ); - my $pickup_locations = $c->objects->search( $ps_set ); my @response = (); - if ( C4::Context->preference('AllowHoldPolicyOverride') ) { my $libraries_rs = Koha::Libraries->search( { pickup_location => 1 } ); @@ -127,7 +125,7 @@ sub pickup_locations { my $library = $_; $library->{needs_override} = ( any { $_->{library_id} eq $library->{library_id} } - @{$pickup_locations} + @{$ps_set->as_list} ) ? Mojo::JSON->false : Mojo::JSON->true; @@ -140,6 +138,8 @@ sub pickup_locations { ); } + my $pickup_locations = $c->objects->search( $ps_set ); + @response = map { $_->{needs_override} = Mojo::JSON->false; $_; } @{$pickup_locations}; return $c->render( -- 2.25.1