From 3b9138d505db9f1c496bdfe198a4419ee039d9b0 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Tue, 19 Dec 2017 14:20:56 -0500 Subject: [PATCH] Bug 17978 - Circ rules will not limit holds The crux of this issue is that all those holds are unfilled record level holds. The code that checks for the number of holds the user already has *always* uses a branchcode of some form. Because of this, any open record level holds are completely ignored for this purpose. Test Plan: 1) Set ReservesControlBranch to "item's home library" 2) Set an All libraries/All Patrons/All itemtypes rules limiting a patron to 2 holds 3) Place 3 record level holds, you can but you should not be able to! 4) Delete the holds 5) Apply this patch 6) Attempt to place 3 record level holds 7) Note that you cannot! --- C4/Reserves.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 06cde18..b746f9b 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -371,7 +371,7 @@ sub CanItemBeReserved { # we retrieve count - $querycount .= "AND $branchfield = ?"; + $querycount .= "AND ( $branchfield = ? OR $branchfield IS NULL )"; # If using item-level itypes, fall back to the record # level itemtype if the hold has no associated item -- 2.10.2