@@ -, +, @@ --- C4/Circulation.pm | 5 ++++- opac/opac-user.pl | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) --- a/C4/Circulation.pm +++ a/C4/Circulation.pm @@ -2788,7 +2788,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" ); } --- a/opac/opac-user.pl +++ a/opac/opac-user.pl @@ -124,16 +124,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, ); } --