From d7a5925aa0a7a185c8671d8c9989d80bdf2c0939 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 Signed-off-by: Nick Clemens --- C4/Reserves.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index bbe0309795..2273618a4b 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.39.5