From 6b2a22f1e41d273e07c53844c93dbed722ce3cdc Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Mon, 13 Nov 2023 10:37:43 -0500 Subject: [PATCH] Bug 35322: Fix the logic for checking for holds in CanBookBeIssued We are having reports that AllowItemsOnHoldCheckoutSCO and AllowItemsOnHoldCheckoutSIP no longer work. It appreas that in CanBookBeIssued, the ignore reserves check was changed from "check reserves unless the ignore reserves flag was passed" to "check reserves unless the ignore reserves flag was passed *and* we have a recall". I think this was a logic mistake and we want to check reserves unless we have an ignore flag *or* there is a recall. Test Plan: 1) Enable AllowItemsOnHoldCheckoutSCO 2) Place a hold on an item 3) Attempt to check that item out to another patron 4) Note the checkout is blocked 5) Apply this patch 6) Restart all the things! 7) Attempt the checkout again 8) The checkout now succeeds! Signed-off-by: David Nind --- C4/Circulation.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index ac28b2e74b..c6a3044c35 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -1174,7 +1174,7 @@ sub CanBookBeIssued { } } - unless ( $ignore_reserves and defined $recall ) { + unless ( $ignore_reserves || $recall ) { # See if the item is on reserve. my ( $restype, $res ) = CheckReserves( $item_object ); if ($restype) { -- 2.30.2