+ [% END %]
+ [% INCLUDE 'intranet-bottom.inc' %]
--- a/reserve/placerequest.pl
+++ a/reserve/placerequest.pl
@@ -50,6 +50,7 @@ my $title=$input->param('title');
my $borrower=GetMember('borrowernumber'=>$borrowernumber);
my $checkitem=$input->param('checkitem');
my $expirationdate = $input->param('expiration_date');
+my $requestany = $input->param('requestany');
my $multi_hold = $input->param('multi_hold');
my $biblionumbers = $multi_hold ? $input->param('biblionumbers') : ($biblionumber . '/');
@@ -79,6 +80,11 @@ if (defined $checkitem && $checkitem ne ''){
if ($type eq 'str8' && $borrower){
+ my $reserve_group_id;
+ if ($multi_hold && $requestany) {
+ $reserve_group_id = AddReserveGroup();
+ }
+
foreach my $biblionumber (keys %bibinfos) {
my $count=@bibitems;
@bibitems=sort @bibitems;
@@ -104,8 +110,10 @@ if ($type eq 'str8' && $borrower){
if ($multi_hold) {
my $bibinfo = $bibinfos{$biblionumber};
- AddReserve($branch,$borrower->{'borrowernumber'},$biblionumber,[$biblionumber],
- $bibinfo->{rank},$startdate,$expirationdate,$notes,$bibinfo->{title},$checkitem,$found);
+ AddReserve($branch, $borrower->{'borrowernumber'}, $biblionumber,
+ [$biblionumber], $bibinfo->{rank}, $startdate, $expirationdate,
+ $notes, $bibinfo->{title}, $checkitem, $found,
+ $reserve_group_id);
} else {
# place a request on 1st available
AddReserve($branch,$borrower->{'borrowernumber'},$biblionumber,\@realbi,$rank[0],$startdate,$expirationdate,$notes,$title,$checkitem,$found);
--- a/reserve/request.pl
+++ a/reserve/request.pl
@@ -562,6 +562,7 @@ foreach my $biblionumber (@biblionumbers) {
$reserve{'suspend'} = $res->suspend();
$reserve{'suspend_until'} = $res->suspend_until();
$reserve{'reserve_id'} = $res->reserve_id();
+ $reserve{'reserve_group_id'} = $res->reserve_group_id;
if ( C4::Context->preference('IndependentBranches') && $flags->{'superlibrarian'} != 1 ) {
$reserve{'branchloop'} = [ GetBranchDetail( $res->branchcode() ) ];
--- a/reserve/reserve-group.pl
+++ a/reserve/reserve-group.pl
@@ -0,0 +1,42 @@
+#!/usr/bin/env perl
+
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# Koha is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Koha; if not, see .
+
+use Modern::Perl;
+use CGI qw( -utf8 );
+
+use C4::Auth;
+use C4::Output;
+use C4::Reserves;
+
+my $cgi = new CGI;
+my ($template, $loggedinuser, $cookie) = get_template_and_user({
+ template_name => "reserve/reserve-group.tt",
+ query => $cgi,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => { circulate => 'circulate_remaining_permissions' },
+});
+
+my $reserve_group_id = $cgi->param('reserve_group_id');
+my @reserves = GetReserveGroupReserves($reserve_group_id);
+
+$template->param(
+ reserve_group_id => $reserve_group_id,
+ reserves => \@reserves,
+);
+
+output_html_with_http_headers $cgi, $cookie, $template->output;
--- a/svc/holds
+++ a/svc/holds
@@ -89,6 +89,7 @@ while ( my $h = $holds_rs->next() ) {
waiting_at => $h->branch()->branchname(),
waiting_here => $h->branch()->branchcode() eq $branch,
priority => $h->priority(),
+ reserve_group_id => $h->reserve_group_id,
subtitle => GetRecordValue(
'subtitle', GetMarcBiblio($biblionumber),
GetFrameworkCode($biblionumber)
--