From 5421058837c085296f2c9bb33faa90a3fa5b4bf2 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 7 Jan 2021 13:44:33 +0100 Subject: [PATCH] Bug 19540: Tell the patron why a hold cannot be placed on items This patch adds an explanation when a hold cannot be placed, in some situation: tooManyReserves tooManyHoldsForThisRecord tooManyReservesToday itemAlreadyOnHold Signed-off-by: Owen Leonard Signed-off-by: Tomas Cohen Arazi --- .../opac-tmpl/bootstrap/en/modules/opac-reserve.tt | 10 +++++++++- opac/opac-reserve.pl | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt index 1d1d55fe4d..176ee43483 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt @@ -203,8 +203,16 @@ [% ELSIF ( bibitemloo.recall ) %]
You have already placed a recall on this title.
[% ELSE %] - [% IF ( bibitemloo.already_patron_possession ) %] + [% IF bibitemloo.alreadypossession %]
This title cannot be requested because it's already in your possession.
+ [% ELSIF bibitemloo.tooManyReserves %] +
This title cannot be requested because you reached the maximum number of holds.
+ [% ELSIF bibitemloo.tooManyHoldsForThisRecord %] +
This title cannot be requested because you exceeded max holds per record.
+ [% ELSIF bibitemloo.tooManyReservesToday %] +
This title cannot be requested because you reached the daily hold limit.
+ [% ELSIF bibitemloo.itemAlreadyOnHold %] +
This title cannot be requested because you already have hold for this item.
[% ELSE %] [% UNLESS ( bibitemloo.bib_available ) %]
There are no items that can be placed on hold.
diff --git a/opac/opac-reserve.pl b/opac/opac-reserve.pl index 20f67e8313..e32a41ea91 100755 --- a/opac/opac-reserve.pl +++ b/opac/opac-reserve.pl @@ -565,7 +565,7 @@ foreach my $biblioNum (@biblionumbers) { my $status = CanBookBeReserved( $borrowernumber, $biblioNum )->{status}; $biblioLoopIter{holdable} &&= $status eq 'OK'; - $biblioLoopIter{already_patron_possession} = $status eq 'alreadypossession'; + $biblioLoopIter{$status} = 1; if ( $biblioLoopIter{holdable} and C4::Context->preference('AllowHoldItemTypeSelection') ) { # build the allowed item types loop -- 2.34.1