[Koha-bugs] [Bug 20985] CanBookBeReserved and CanItemBeReserved should check 'On shelf holds allowed' policy
bugzilla-daemon at bugs.koha-community.org
bugzilla-daemon at bugs.koha-community.org
Wed Aug 23 16:40:22 CEST 2023
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=20985
Julian Maurice <julian.maurice at biblibre.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #121485|0 |1
is obsolete| |
Attachment #121486|0 |1
is obsolete| |
--- Comment #50 from Julian Maurice <julian.maurice at biblibre.com> ---
Created attachment 154711
-->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=154711&action=edit
Bug 20985: Add OnShelfHoldsAllowed checks to CanItemBeReserved
The expected behaviour for "On shelf holds allowed" setting for the
circulation rules (Koha administration > Patrons and circulation >
Circulation and fines rules):
- Allow holds only on items that are currently checked out or otherwise
unavailable.
- If set to "Yes", patrons can place holds on items currently checked
in.
- If set to "If any unavailable", patrons can only place holds on items
that are not unavailable.
- If set to "If all unavailable", patrons can only place holds on items
where *all* items on the record are unavailable.
(Adapted from
https://bywatersolutions.com/education/preparing-for-library-closures)
These rules should also work when using ILS-DI, but currently they
don't. This bug makes sure that the "On shelf holds allowed" rules work
correctly when using ILS-DI to place holds.
Test plan
---------
1. Enable ILS-DI (set the ILS-DI system preference to Enable).
2. Go to Koha administration > Patrons and circulation > Circulation and
fines rules.
3. Work through steps 4-5 for each of the settings for "On shelf holds
allowed" for all libraries/patron categories/item types:
"Yes", "If any unavailable", and "If all unavailable"
4. Staff interface - place a hold on a record with items available for
loan, the rules should work as expected before and after the patch is
applied:
"Yes":
information column in the item table displays "Not on hold", the
hold is placed, cancel the hold
"If any unavailable" and "If all unavailable":
the hold is not placed, message is "Cannot place hold. No items
are available to be placed on hold.", red "X" in the hold column
and the information column displays "Not on hold"
5. ILS-DI - place a hold on a record with items available for loan
(note: without the patch, holds can be placed):
- Query to place a hold using ILS-DI on a title that have all its
items available, example query:
http://127.0.0.1:8080/cgi-bin/koha/ilsdi.pl?service=HoldTitle&patron_id=1&bib_id=1&request_location=127.0.0.1
Without the patch the hold is placed but it shouldn't be allowed,
cancel the hold
- Query to place a hold using ILS-DI on an available item, example
query:
http://127.0.0.1:8080/cgi-bin/koha/ilsdi.pl?service=HoldItem&patron_id=1&bib_id=1&item_id=1)
Without the patch the hold is placed but it shouldn't be allowed,
cancel the hold
6. Run the tests in t/db_dependent/Reserves.t - these should pass.
7. Apply the patch, flush the cache and restart Koha (if using
koha-testing-docker, run flush_memcached and restart_all)
8. Run through steps 3-6 again, and note the changes when "If any
unavailable" and "If all unavailable" options are used:
For the staff interface:
there should be no change in behavour and should work as
expected, for the red "X" in the items table additional text is
added "onShelfHoldsNotAllowed".
For ILS-DI:
these should now work as expected, with holds not placed, and
this message in the results returned
<code>onShelfHoldsNotAllowed</code> (check to confirm no holds
place for either the patron or the item)
Tests:
should still pass, in particular the following tests:
- t/db_dependent/Reserves.t
- t/db_dependent/Holds.t
- t/db_dependent/Holds/DisallowHoldIfItemsAvailable.t
- t/db_dependent/api/v1/holds.t
- t/db_dependent/ILSDI_Services.t
- t/db_dependent/Reserves/MultiplePerRecord.t
- t/db_dependent/Reserves/IsOnShelfHoldsPolicySatisfied.t (new
test file)
--
You are receiving this mail because:
You are watching all bug changes.
More information about the Koha-bugs
mailing list