Summary: | Title level hold should fill even if specific item is not holdable | ||
---|---|---|---|
Product: | Koha | Reporter: | Nick Clemens (kidclamp) <nick> |
Component: | Hold requests | Assignee: | Nick Clemens (kidclamp) <nick> |
Status: | In Discussion --- | QA Contact: | Testopia <testopia> |
Severity: | major | ||
Priority: | P5 - low | CC: | blawlor, gmcharlt, hanna.dehlin, hans.palsson, stefan.berndtsson |
Version: | Main | ||
Hardware: | All | ||
OS: | All | ||
See Also: | https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4850 | ||
Change sponsored?: | --- | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Circulation function: | |||
Attachments: |
Bug 37774: Unit tests
Bug 37774: Make MoveReserve check for patron holds even if none found by CheckReserve Bug 37774: Unit tests Bug 37774: Make MoveReserve check for patron holds even if none found by CheckReserve |
Description
Nick Clemens (kidclamp)
2024-08-29 11:22:15 UTC
Created attachment 170906 [details] [review] Bug 37774: Unit tests Created attachment 170907 [details] [review] Bug 37774: Make MoveReserve check for patron holds even if none found by CheckReserve This patch moves the check for a patron's holds so that even if CheckReserve does not find the hold due to hold policies it can still be filled. The check will respect 'ConfirmFutureHolds' as per existing tests 1 - Set a "Default holds policy by item type" rule on "Mixed materials" to "No holds allowed" 2 - Add a Mixed Materials item on a record with items of 'Book' item types that are holdable 3 - Place a hold for a patron 4 - Check out the 'Mixed material' book to the patron (they are allowed to borrow these materials) 5 - The hold is not marked filled! Boo 6 - Check in the item and check out again 7 - The hold is filled! Yay 8 - Place another hold for the patron, with a future date set 9 - Checkout the item 10 - The hold is not filled! Yay 11 - Set 'ConfirmFutureHolds' to include the future hold placed above 12 - Checkin and checkout the item 13 - The hold is filled! Yay Created attachment 171483 [details] [review] Bug 37774: Unit tests Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org> Created attachment 171484 [details] [review] Bug 37774: Make MoveReserve check for patron holds even if none found by CheckReserve This patch moves the check for a patron's holds so that even if CheckReserve does not find the hold due to hold policies it can still be filled. The check will respect 'ConfirmFutureHolds' as per existing tests 1 - Set a "Default holds policy by item type" rule on "Mixed materials" to "No holds allowed" 2 - Add a Mixed Materials item on a record with items of 'Book' item types that are holdable 3 - Place a hold for a patron 4 - Check out the 'Mixed material' book to the patron (they are allowed to borrow these materials) 5 - The hold is not marked filled! Boo 6 - Check in the item and check out again 7 - The hold is filled! Yay 8 - Place another hold for the patron, with a future date set 9 - Checkout the item 10 - The hold is not filled! Yay 11 - Set 'ConfirmFutureHolds' to include the future hold placed above 12 - Checkin and checkout the item 13 - The hold is filled! Yay Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org> Testing notes: Step 5.5 - Apply patch Step 10.5 - Set AllowHoldDateInFuture to Allow This patch breaks wanted behavior for our library. An item that is not holdable should not be able to fill a hold. For example: We are a university library and for many of our titles we have two itemtypes: dayloan (not holdable, 1-day loan) and course literature (holdable, 3-week loan). A patron should be able to place and keep a hold for the course literature items and still be able to check out the dayloan item. Agreeing with Hanna. This should have a separate option instead of "No holds allowed" to trigger this behaviour. Something like "Fillable but no holds allowed" (except with a better label) for the specific combination of circulation rules that's relevant for the situation. I'm preemptively moving this to In Discussion since this patch may disrupt existing processes for a lot of libraries. |