Bug 30742: Prevent placing holds on items/records where all items notforloan
authorNick Clemens <nick@bywatersolutions.com>
Fri, 13 May 2022 14:01:48 +0000 (14:01 +0000)
committerTomas Cohen Arazi <tomascohen@theke.io>
Wed, 1 Jun 2022 16:29:31 +0000 (13:29 -0300)
commit1c1c1e19f5529b5728ed7770a030feabf1a9b8df
treebac4fffed489facb913cf10f4d9b2f5468b0127a
parent4f4bfc808100a37245419a5e5810275b480a2f90
Bug 30742: Prevent placing holds on items/records where all items notforloan

This patch does a few things:
1 - Adds itemtype not for loan status to display
2 - Adds a conditional to display notforlaon status as the reason a hold cannot be placed
3 - Seperates the lower 'Place hold(s)' buttons for single and multi holds into two template sections
4 - Handles the case where all bibs in a multi hold have no items available
5 - Disables the button for single hlds when all items are unavailable

To test:
 1 - Find or create a record with all items of itemtype marked 'notforloan'
 2 - Attempt to place single hold on this record from staff client
 3 - See one disab;ed button, one enabled 'Place holds' button
 4 - Click 'Place holds' - hold placed
 5 - Cancel hold
 6 - Place multiple holds with some bibs that can be held, and this one that cannot
 7 - Notice message that 'Cannot place hold on some items'
 8 - Click 'Place holds' - hold is generated for the notforloan bib
 9 - Apply patch
10 - Place single hold
11 - Note you now see not for loan status on items
12 - Note the red x also includes message abnout not for loan status
13 - Note the 'Place hold' button is disabled
14 - Attempt multi hold
15 - Message now includes "No items available: One or more records have no items that can be held"
16 - Click 'Place holds'
17 - Above still places the hold - this is for a followup patch

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
reserve/request.pl