@@ -, +, @@
warning
Cannot place hold
* Too Many Holds: TEST has too many holds.
- Select a borrower and an item
- Look at reserve quota for the borrower category, the item branch and the item type
- Set maxreserves syspref with a quota lower than the circulation quota
- Perform reserves for borrower to reach the quota
- Try to perform one more reserve
- Set maxreserves syspref with a quota higher than the circulation quota
- Try to perform one more reserve
---
.../prog/en/modules/reserve/request.tt | 8 +++---
reserve/request.pl | 27 +++++---------------
2 files changed, 11 insertions(+), 24 deletions(-)
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
@@ -198,7 +198,7 @@ function checkMultiHold() {
[% ELSE %]
-[% IF ( warnings ) %]
+[% IF ( maxreserves || alreadyreserved || none_available || alreadypossession ) %]
[% UNLESS ( multi_hold ) %]
@@ -224,13 +224,13 @@ function checkMultiHold() {
[% END %]
-[% IF ( messages ) %]
-
+[% IF ( expiry || diffbranch ) %]
+
[% IF ( expiry ) %]
- [% borrowerfirstname %] [% borrowersurname %]'s account has expired
[% END %]
-[% IF ( diffbranch ) %]
+ [% IF ( diffbranch ) %]
- Pickup library is different than [% borrowerfirstname %] [% borrowersurname %]'s home library ([% borrower_branchname %] / [% borrower_branchcode %] )
[% END %]
--- a/reserve/request.pl
+++ a/reserve/request.pl
@@ -78,8 +78,7 @@ $findborrower =~ s|,| |g;
my $borrowernumber_hold = $input->param('borrowernumber') || '';
my $borrowerslist;
my $messageborrower;
-my $warnings;
-my $messages;
+my $maxreserves;
my $date = C4::Dates->today('iso');
my $action = $input->param('action');
@@ -127,7 +126,6 @@ if ($borrowernumber_hold && !$action) {
my $diffbranch;
my @getreservloop;
my $count_reserv = 0;
- my $maxreserves;
# we check the reserves of the borrower, and if he can reserv a document
# FIXME At this time we have a simple count of reservs, but, later, we could improve the infos "title" ...
@@ -136,7 +134,6 @@ if ($borrowernumber_hold && !$action) {
GetReserveCount( $borrowerinfo->{'borrowernumber'} );
if ( C4::Context->preference('maxreserves') && ($number_reserves >= C4::Context->preference('maxreserves')) ) {
- $warnings = 1;
$maxreserves = 1;
}
@@ -145,12 +142,11 @@ if ($borrowernumber_hold && !$action) {
my $expiry = 0; # flag set if patron account has expired
if ($expiry_date and $expiry_date ne '0000-00-00' and
Date_to_Days(split /-/,$date) > Date_to_Days(split /-/,$expiry_date)) {
- $messages = $expiry = 1;
+ $expiry = 1;
}
# check if the borrower make the reserv in a different branch
if ( $borrowerinfo->{'branchcode'} ne C4::Context->userenv->{'branch'} ) {
- $messages = 1;
$diffbranch = 1;
}
@@ -169,11 +165,8 @@ if ($borrowernumber_hold && !$action) {
borrowercategory => $borrowerinfo->{'category'},
borrowerreservs => $count_reserv,
cardnumber => $borrowerinfo->{'cardnumber'},
- maxreserves => $maxreserves,
expiry => $expiry,
diffbranch => $diffbranch,
- messages => $messages,
- warnings => $warnings
);
}
@@ -227,18 +220,15 @@ my @biblioloop = ();
foreach my $biblionumber (@biblionumbers) {
my %biblioloopiter = ();
- my $maxreserves;
my $dat = GetBiblioData($biblionumber);
unless ( CanBookBeReserved($borrowerinfo->{borrowernumber}, $biblionumber) ) {
- $warnings = 1;
$maxreserves = 1;
}
my $alreadypossession;
if (not C4::Context->preference('AllowHoldsOnPatronsPossessions') and CheckIfIssuedToPatron($borrowerinfo->{borrowernumber},$biblionumber)) {
- $warnings = 1;
$alreadypossession = 1;
}
@@ -253,19 +243,16 @@ foreach my $biblionumber (@biblionumbers) {
}
if ( defined $borrowerinfo && ($borrowerinfo->{borrowernumber} eq $res->{borrowernumber}) ) {
- $warnings = 1;
$alreadyreserved = 1;
$biblioloopiter{warn} = 1;
$biblioloopiter{alreadyres} = 1;
}
}
- $template->param( alreadyreserved => $alreadyreserved,
- messages => $messages,
- warnings => $warnings,
- maxreserves=>$maxreserves,
- alreadypossession => $alreadypossession,
- );
+ $template->param(
+ alreadyreserved => $alreadyreserved,
+ alreadypossession => $alreadypossession,
+ );
# FIXME think @optionloop, is maybe obsolete, or must be switchable by a systeme preference fixed rank or not
@@ -489,7 +476,6 @@ foreach my $biblionumber (@biblionumbers) {
$template->param( override_required => 1 );
} elsif ( $num_available == 0 ) {
$template->param( none_available => 1 );
- $template->param( warnings => 1 );
$biblioloopiter{warn} = 1;
$biblioloopiter{none_avail} = 1;
}
@@ -618,6 +604,7 @@ foreach my $biblionumber (@biblionumbers) {
$template->param( biblioloop => \@biblioloop );
$template->param( biblionumbers => $biblionumbers );
+$template->param( maxreserves => $maxreserves );
if ($multihold) {
$template->param( multi_hold => 1 );
--