[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 Dec 9 19:59:14 CET 2020


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=20985

David Nind <david at davidnind.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |david at davidnind.com

--- Comment #18 from David Nind <david at davidnind.com> ---
Hi Arthur. 

Apologies for taking so long to get back to this (and work out what this was
about!).

I've read the description properly now and bug 19294, so the aim is to make
sure that if using ILS-DI the "On shelf holds allowed" options for circulation
and fines rules are correctly applied - at the moment they aren't.

Here is an updated test plan - I've worked through it and everything works as
expected. (I'm not sure I've made the test plan better, but it covers both the
staff interface and using ILS-DI.)

Suggested updated test plan
===========================

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 prove t/db_dependent/Reserves.t - these should pass.
7. Apply the patch (and flush_memcached and restart_all if using
koha-testing-docker).
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.
9. Sign off.

Changes
=======

Tests fail
~~~~~~~~~~

The number of tests need updating from 66 to 67 (the tests pass if I update
this myself):

ok 67 - MergeHolds
# Looks like you planned 66 tests but ran 67.
Dubious, test returned 255 (wstat 65280, 0xff00)
All 66 subtests passed 

Test Summary Report
-------------------
t/db_dependent/Reserves.t (Wstat: 65280 Tests: 67 Failed: 1)
  Failed test:  67
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 66 tests but ran 67.
Files=1, Tests=67,  8 wallclock secs ( 0.05 usr  0.01 sys +  6.65 cusr  0.93
csys =  7.64 CPU)
Result: FAIL

Wording change suggestion
~~~~~~~~~~~~~~~~~~~~~~~~~

I didn't notice any change in behaviour except for Step 4 with the patch
applied, red "X onShelfHoldsNotAllowed".

I would prefer to see a human readable message for the staff interface, rather
than the code "onShelfHoldsNotAllowed", maybe "Holds not allowed for items on
shelves" or "Holds not allowed for items available".

Happy to sign off once tests fixed.

David

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list