From deaeda4ed50ab5a7cfd7460dd9a557328cce8c76 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 --- .../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 6637cfab6f..82a8ecafff 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt @@ -204,8 +204,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 b8ffca4e44..749a322bee 100755 --- a/opac/opac-reserve.pl +++ b/opac/opac-reserve.pl @@ -631,7 +631,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 ( $status eq 'recall' ) { $biblioLoopIter{recall} = 1; -- 2.20.1