Bug 15516: (follow-up) integrate BZ 15516 and BZ 15565

This patch makes DisplayAddHoldGroups and DisplayMultiItemHolds
work together, so that you can add multiple items to 1 hold group
from the staff detail page, the OPAC detail page, or the OPAC
search results.

Note: At this time, you can't add multiple items to a hold group
from the staff search results. This is due to the existing constraints
in request.pl

Over the last 10 years, in practice most hold groups have been formed
at the OPAC anyway.

Test plan:
__OPAC search results__
- Enable both DisplayAddHoldGroups and DisplayMultiItemHolds
- Go to http://localhost:8080/cgi-bin/koha/opac-search.pl?idx=&q=test&weight_search=1
- Choose "Gairm" and "Continuous delivery" and click "Place hold"
- Checkbox "Treat as hold group"
- Click "Show more options" for each record
- Click "A specific item" for "Continuous delivery"
- Checkbox both specific items for that title
- Press "Confirm hold"
- Note 3 holds are in the hold group
- Cancel all the holds

__OPAC detail page__
- Go to http://localhost:8080/cgi-bin/koha/opac-detail.pl?biblionumber=134
- Click "Place hold"
- Checkbox "Treat as hold group"
- Click "Show more options"
- Choose "A specific item"
- Checkbox both items
- Click "Confirm hold"
- Note 2 holds are in the hold group
- Cancel all the holds

__Staff detail page__
- Go to http://localhost:8081/cgi-bin/koha/reserve/request.pl?biblionumber=134&borrowernumber=51
- Choose "Hold a specific item"
- Checkbox "Treat as hold group"
- Checkbox both items
- Click "Place hold"
- Note 2 holds are in the hold group
- Cancel all the holds

Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
David Cook 2025-07-14 06:52:48 +00:00 committed by Lucas Gass
parent 71c4086435
commit 42afcc274c
No known key found for this signature in database
GPG Key ID: 60B447398B0D36CA
2 changed files with 9 additions and 1 deletions

View File

@ -816,6 +816,14 @@
[% biblio_info.biblioitem.publicationyear | html %]
</li>
[% END %]
[% IF ( Koha.Preference('DisplayAddHoldGroups') && Koha.Preference('DisplayMultiItemHolds') ) %]
<li id="hold_group_list_item">
<label for="hold_group">Treat as hold group: </label>
<input name="hold_group" id="hold_group" type="checkbox" />
<span class="hint">Place a hold on the next available title from this group</span>
</li>
[% END %]
</ol>
<table id="requestspecific">

View File

@ -110,7 +110,7 @@
[% INCLUDE 'csrf-token.inc' %]
<legend class="sr-only">Hold requests</legend>
<input type="hidden" name="op" value="cud-place_reserve" />
[% IF ( Koha.Preference('DisplayAddHoldGroups') && ( multi_hold ) ) %]
[% IF ( Koha.Preference('DisplayAddHoldGroups') && ( multi_hold || Koha.Preference('DisplayMultiItemHolds') ) ) %]
<div id="hold_group">
<fieldset class="rows">
<ul>