@@ -, +, @@
and is missing data
message should end "...cannot place holds on some of these titles'
items"
---
C4/Reserves.pm | 3 +++
koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt | 9 +++++++--
reserve/request.pl | 7 +++++++
3 files changed, 17 insertions(+), 2 deletions(-)
--- a/C4/Reserves.pm
+++ a/C4/Reserves.pm
@@ -394,6 +394,9 @@ sub CanItemBeReserved {
}
# we check if it's ok or not
+ if( $allowedreserves == 0 ){
+ return 'noReservesAllowed';
+ }
if ( $reservecount >= $allowedreserves ) {
return 'tooManyReserves';
}
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
@@ -297,8 +297,10 @@ function checkMultiHold() {
[% UNLESS ( multi_hold ) %]
Cannot place hold
[% ELSE %]
Cannot place hold on some items
+ [% IF ( no_reserves_allowed) %]
+ No holds allowed: [% borrowerfirstname %] [% borrowersurname %] cannot place holds on some of these title's items.
+ [% END %]
[% IF ( exceeded_maxreserves ) %]
Too many holds: [% patron.firstname %] [% patron.surname %] can place [% new_reserves_allowed %] of the requested [% new_reserves_count %] holds for a maximum of [% maxreserves %] total holds.
[% ELSIF ( exceeded_holds_per_record ) %]
--- a/reserve/request.pl
+++ a/reserve/request.pl
@@ -149,6 +149,8 @@ if ($borrowernumber_hold && !$action) {
my $new_reserves_count = scalar( @biblionumbers );
my $maxreserves = C4::Context->preference('maxreserves');
+ $template->param( maxreserves => $maxreserves );
+
if ( $maxreserves
&& ( $reserves_count + $new_reserves_count > $maxreserves ) )
{
@@ -198,6 +200,7 @@ my $logged_in_patron = Koha::Patrons->find( $borrowernumber );
my $itemdata_enumchron = 0;
my @biblioloop = ();
+my $no_reserves_allowed = 0;
foreach my $biblionumber (@biblionumbers) {
next unless $biblionumber =~ m|^\d+$|;
@@ -214,6 +217,9 @@ foreach my $biblionumber (@biblionumbers) {
#All is OK and we can continue
}
+ elsif ( $canReserve eq 'noReservesAllowed') {
+ $no_reserves_allowed = 1;
+ }
elsif ( $canReserve eq 'tooManyReserves' ) {
$exceeded_maxreserves = 1;
}
@@ -615,6 +621,7 @@ foreach my $biblionumber (@biblionumbers) {
$template->param( biblioloop => \@biblioloop );
$template->param( biblionumbers => $biblionumbers );
+$template->param( no_reserves_allowed => $no_reserves_allowed );
$template->param( exceeded_maxreserves => $exceeded_maxreserves );
$template->param( exceeded_holds_per_record => $exceeded_holds_per_record );
--