From: Martin Renvoize Date: Wed, 10 Jul 2019 13:50:06 +0000 (+0100) Subject: Bug 23293: Apply OPACFineNoRenewalsIncludeCredit preference X-Git-Tag: v19.11.00~140 X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=commitdiff_plain;ds=sidebyside;h=d9cd7ff1fd4fdb65d04a3489a78fddd5f1cc88f7;p=koha-ffzg.git Bug 23293: Apply OPACFineNoRenewalsIncludeCredit preference Signed-off-by: Tomas Cohen Arazi Signed-off-by: Jonathan Druart Signed-off-by: Martin Renvoize --- diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 2ef62f297e..ad617c846e 100644 --- a/C4/Circulation.pm +++ b/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" ); } diff --git a/opac/opac-user.pl b/opac/opac-user.pl index 451b7f9356..6c55ad2965 100755 --- a/opac/opac-user.pl +++ b/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, ); }