From d0f3e8d9a29d801eb85def218fc4b874b278e9bc 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! Signed-off-by: Josef Moravec Signed-off-by: Marcel de Rooy Signed-off-by: Liz Rea Signed-off-by: Martin Renvoize --- C4/Reserves.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 09d36288e3..260fa878f5 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -395,7 +395,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.20.1