From 82ef679cb14dd3aaaf6285fe0f582a1a73adbb4c 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 560abc1430..7c1578ffaa 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -2766,7 +2766,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 4ef0fb3c0b..c0bfb68e8c 100755 --- a/opac/opac-user.pl +++ b/opac/opac-user.pl @@ -122,16 +122,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