From 11661a205cf88c83a0e4719e341692c9f611815d 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 Content-Type: text/plain; charset=utf-8 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 --- 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