From d28ab930c85a71fa7adac7113ce8cf174284a667 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. --- .../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 6ab8ba7ac5..039ba2df99 100755 --- a/reserve/request.pl +++ b/reserve/request.pl @@ -240,7 +240,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 ) ) @@ -250,12 +250,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.20.1