https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26529 Bug ID: 26529 Summary: Holds rules enforced incorrectly when not set at library level Change sponsored?: --- Product: Koha Version: 19.11 Hardware: All OS: All Status: NEW Severity: major Priority: P5 - low Component: Circulation Assignee: koha-bugs@lists.koha-community.org Reporter: andrew@bywatersolutions.com QA Contact: testopia@bugs.koha-community.org CC: gmcharlt@gmail.com, kyle.m.hall@gmail.com To recreate: 1 - Set ReservesControl to item home library 2 - confirm your circ rules allow holds at both the All Libraries and library-specific levels 3 - confirm Default checkout, hold and return policy is totally unset at both the All Libraries and library-specific levels 4 - place a hold on an item at Branch A for pickup at Branch A 5 - check item in, confirm hold triggers 6 - cancel hold 7 - go to Default checkout, hold and return policy for Branch A 8 - enter 1 for Total current checkouts allowed, save that with no other values entered 9 - re-place hold, confirm no error when placing hold 10 - check item in, hold does not trigger 11 - set Hold policy and Hold pickup library match at to Any Library at All Libraries level 12 - confirm hold still doesn't capture set Hold policy and Hold pickup library match at to Any Library for Branch A 13 - confirm hold now captures If these rules aren't set at the branch level we should be falling back to All Libraries. If they're not set anywhere, we should be assuming holds are allowed is the circ rules allow them. Starting from default testing docker data, this is what my db shows at step 7: MySQL [koha_kohadev]> select * from circulation_rules; +----+------------+--------------+----------+-------------------+------------+ | id | branchcode | categorycode | itemtype | rule_name | rule_value | +----+------------+--------------+----------+-------------------+------------+ | 1 | NULL | NULL | NULL | maxissueqty | 5 | | 2 | NULL | NULL | NULL | maxonsiteissueqty | 5 | +----+------------+--------------+----------+-------------------+------------+ And this is what it shows at step 8: MySQL [koha_kohadev]> select * from circulation_rules; +----+------------+--------------+----------+--------------------------+------------+ | id | branchcode | categorycode | itemtype | rule_name | rule_value | +----+------------+--------------+----------+--------------------------+------------+ | 1 | NULL | NULL | NULL | maxissueqty | 5 | | 2 | NULL | NULL | NULL | maxonsiteissueqty | 5 | | 8 | CPL | NULL | NULL | patron_maxissueqty | 1 | | 9 | CPL | NULL | NULL | returnbranch | | | 10 | CPL | NULL | NULL | hold_fulfillment_policy | | | 11 | CPL | NULL | NULL | patron_maxonsiteissueqty | | | 12 | CPL | NULL | NULL | max_holds | | +----+------------+--------------+----------+--------------------------+------------+ I cannot recreate this on master. -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.