From a12c6e7a0838aac8e672118c92b1b16a86942bc5 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 12 Nov 2019 18:00:02 +0100 Subject: [PATCH] Bug 23985: (bug 21206 follow-up) Fix checkout list when "Hold pickup library match" not set This patch restores the behavior prior to bug 21206. If "Hold pickup library match" is "Not set", then hold_fulfillment_policy equals an empty string. Test plan: 1. Go to "Circulation and fines rules" 2. Under "Default checkout, hold and return policy", unset "Hold pickup library match" and Save 3. Place a hold on one item for one patron 4. Try to checkout the same item with another patron => Without this patch you the checkout list do not show, and the logs contain "The method Koha::Item-> is not covered by tests!" => With this patch applied you see the checkout list QA will take care of comparing the statement with the one before bug 21206 and make sure they are equivalent Signed-off-by: Julian Maurice --- C4/Reserves.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index cf6ee50169..73d39895f3 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -796,7 +796,13 @@ sub CheckReserves { next if ($branchitemrule->{'holdallowed'} == 0); next if (($branchitemrule->{'holdallowed'} == 1) && ($branch ne $patron->branchcode)); my $hold_fulfillment_policy = $branchitemrule->{hold_fulfillment_policy}; - next if ( ($branchitemrule->{hold_fulfillment_policy} ne 'any') && ($res->{branchcode} ne $item->$hold_fulfillment_policy) ); + next + if $hold_fulfillment_policy ne 'any' + && ( + $hold_fulfillment_policy eq '' + || ( $res->{branchcode} ne + $item->$hold_fulfillment_policy ) + ); next unless $item->can_be_transferred( { to => scalar Koha::Libraries->find( $res->{branchcode} ) } ); $priority = $res->{'priority'}; $highest = $res; -- 2.20.1