From 6a0777b8b670b5c2d3ae222128a909a009d664a1 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 10 Jul 2019 14:50:06 +0100 Subject: [PATCH] Bug 23293: Apply OPACFineNoRenewalsIncludeCredit preference --- C4/Circulation.pm | 5 ++++- opac/opac-user.pl | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 66993ea461..5e5ebad2d6 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -2767,7 +2767,10 @@ sub CanBookBeRenewed { if ( C4::Context->preference('OPACFineNoRenewalsBlockAutoRenew') ) { my $fine_no_renewals = C4::Context->preference("OPACFineNoRenewals"); - my $amountoutstanding = $patron->account->balance; + my $amountoutstanding = + C4::Context->preference("OPACFineNoRenewalsIncludeCredit") + ? $patron->account->balance + : $patron->account->outstanding_debits->total_outstanding; if ( $amountoutstanding and $amountoutstanding > $fine_no_renewals ) { return ( 0, "auto_too_much_oweing" ); } diff --git a/opac/opac-user.pl b/opac/opac-user.pl index 8eac2478a6..c8a47961ce 100755 --- a/opac/opac-user.pl +++ b/opac/opac-user.pl @@ -123,16 +123,20 @@ if ( $userdebarred || $borr->{'gonenoaddress'} || $borr->{'lost'} ) { my $amountoutstanding = $patron->account->balance; my $no_renewal_amt = C4::Context->preference( 'OPACFineNoRenewals' ); $no_renewal_amt = undef unless looks_like_number( $no_renewal_amt ); +my $amountoutstandingfornewal = + C4::Context->preference("OPACFineNoRenewalsIncludeCredit") + ? $amountoutstanding + : $patron->account->outstanding_debits->total_outstanding; if ( C4::Context->preference('OpacRenewalAllowed') && defined($no_renewal_amt) - && $amountoutstanding > $no_renewal_amt ) + && $amountoutstandingfornewal > $no_renewal_amt ) { $borr->{'flagged'} = 1; $canrenew = 0; $template->param( renewal_blocked_fines => $no_renewal_amt, - renewal_blocked_fines_amountoutstanding => $amountoutstanding, + renewal_blocked_fines_amountoutstanding => $amountoutstandingfornewal, ); } -- 2.20.1