From 87c16cc5d534d4666aa0c26eec155fd851514547 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 --- C4/Reserves.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Reserves.pm b/C4/Reserves.pm index 73b86b6..c9e954e 100644 --- a/C4/Reserves.pm +++ b/C4/Reserves.pm @@ -369,7 +369,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.1.4