From 1bd7d3f2e67a0f349cf9541ae40bf4d725ff5bb3 Mon Sep 17 00:00:00 2001 From: =?utf8?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 Signed-off-by: Fridolin Somers Signed-off-by: Kyle M Hall (cherry picked from commit d8c5c195c9d6a489c7e63a618b078275ede8c62c) Signed-off-by: Andrew Fuerste-Henry --- .../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 f54ac0d32a..31397bc754 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt @@ -223,7 +223,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 @@ -235,7 +235,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 1a9b1a0f42..580c0d8ff9 100755 --- a/reserve/request.pl +++ b/reserve/request.pl @@ -242,7 +242,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 ) ) @@ -252,12 +252,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.39.5