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 <david@davidnind.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9b10f69ee3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Kyle M Hall 2023-11-13 10:37:43 -05:00 committed by Fridolin Somers
parent 5e62477823
commit c279c31daf
1 changed files with 1 additions and 1 deletions

View File

@ -1185,7 +1185,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) {