From 53d1a241cbcc2b14e3d584a88a44d6f67a28b185 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 --- .../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 8e9bf1fd4f..e707b68c78 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 10fa575f11..a635ab1348 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.20.1