From 622548fa7a6784ee1c5e896cb36d6ca7541f6d59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joonas=20Kylm=C3=A4l=C3=A4?= Date: Sun, 26 Sep 2021 15:36:45 +0000 Subject: [PATCH] Bug 29115: Fix syntax errors in club hold functionality The code didn't previously correctly do the checks for patron debarment status and whether the patron has fees, this caused the intended warnings messages to not appear when they should have. To test: 1) Create a new club and add a patron to it who has manual debarment and a manual charge of over $5 (more than the maxoutstanding syspref). 2) Try to create a new club hold for the previously created club and notice no warnings are listed for the patron. 3) Apply patch 4) Try to create now the club hold again and notice the warnings being shown in the hold page. Signed-off-by: David Nind Signed-off-by: Jonathan Druart --- .../intranet-tmpl/prog/en/modules/reserve/request.tt | 4 ++-- reserve/request.pl | 8 +------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt index b1ab990f13b..f827863ddf8 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt @@ -247,7 +247,7 @@ Too many holds: Patron can only place a maximum of [% maxreserves | html %] total holds. [% END %] - [% IF ( member.expiry ) %] + [% IF ( patron.is_expired ) %]
Account has expired @@ -259,7 +259,7 @@ Patron has restrictions
[% END %] - [% IF amount_outstanding && Koha.Preference('maxoutstanding') && amount_outstanding > Koha.Preference('maxoutstanding') %] + [% IF member.amount_outstanding && Koha.Preference('maxoutstanding') && member.amount_outstanding > Koha.Preference('maxoutstanding') %]
Patron has outstanding fines: [% member.amount_outstanding | $Price %] diff --git a/reserve/request.pl b/reserve/request.pl index 10fa575f11e..a635ab13483 100755 --- a/reserve/request.pl +++ b/reserve/request.pl @@ -253,7 +253,7 @@ if ($club_hold && !$borrowernumber_hold && !$action) { while(my $enrollment = $enrollments->next) { next if $enrollment->is_canceled; - my $member = { patron => $enrollment->patron->unblessed }; + my $member = { patron => $enrollment->patron }; my $reserves_count = $enrollment->patron->holds->count; if ( $maxreserves && ( $reserves_count + $new_reserves_count > $maxreserves ) ) @@ -263,12 +263,6 @@ if ($club_hold && !$borrowernumber_hold && !$action) { : 0; $member->{exceeded_maxreserves} = 1; } - my $expiry_date = $enrollment->patron->dateexpiry; - $member->{expiry} = 0; # flag set if patron account has expired - if ($expiry_date and - Date_to_Days(split /-/,$date) > Date_to_Days(split /-/,$expiry_date)) { - $member->{expiry} = 1; - } $member->{amount_outstanding} = $enrollment->patron->account->balance; if ( $enrollment->patron->branchcode ne C4::Context->userenv->{'branch'} ) { $member->{diffbranch} = 1; -- 2.25.1