From 9975e6c3921b06a5e77032e6d41f0d211230bbe0 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 --- .../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 ec4aaf5b03..d195dbd515 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt @@ -200,8 +200,16 @@ [% IF ( bibitemloo.already_reserved ) %]
You have already requested 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 b0ed088689..245c6b6001 100755 --- a/opac/opac-reserve.pl +++ b/opac/opac-reserve.pl @@ -617,7 +617,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; # For multiple holds per record, if a patron has previously placed a hold, # the patron can only place more holds of the same type. That is, if the -- 2.20.1