https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=23909 --- Comment #21 from Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> --- Created attachment 197840 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=197840&action=edit Bug 23909: Extend SIP to distinguish pending vs waiting holds This patch extends the SIP checkout handler to honour the new three-valued AllowItemsOnHoldCheckoutSIP preference: * 0 - Don't allow checkout of any held item * 1 - Allow checkout when the hold is still pending (not attached) * 2 - Also allow checkout when the hold is waiting, in transit or being processed for another patron Previously the preference was a simple YesNo toggle that, when enabled, allowed the checkout regardless of whether the hold was pending or already attached to an item on the hold shelf. Libraries could not block the more disruptive case (checking out a waiting hold destined for another patron) without also blocking pending holds. The existing post-confirmation filter is reworked into a single branch per confirmation type that consults the preference value. Test plan: 1. prove t/db_dependent/SIP/Transaction.t 2. With AllowItemsOnHoldCheckoutSIP=0, place a pending hold for patron A on an item, attempt SIP checkout to patron B: refused. 3. Repeat with the hold marked waiting: refused. 4. Set AllowItemsOnHoldCheckoutSIP=1, pending hold: allowed; waiting hold: refused. 5. Set AllowItemsOnHoldCheckoutSIP=2, waiting hold: allowed. -- You are receiving this mail because: You are watching all bug changes.