From c4e724a8cac00f2275a50107249b3c1ec82078f1 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Tue, 23 Jun 2020 15:10:50 +0100 Subject: [PATCH] Bug 8338: (QA follow-up) Clean up warning This patch moves the accountline->store call below the FinesLog code such that we return the same 'thing' from _FixOverduesOnReturn as the other clauses of the routine. We also take the oportunity to clean up the warning thrown by an errant call to the routine such that we output the actual itemnumber rather than a HASH reference marker. --- C4/Circulation.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index fd18c2eb87..606bf4abf0 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -2053,7 +2053,7 @@ sub AddReturn { # fix up the overdues in accounts... if ($borrowernumber) { my $fix = _FixOverduesOnReturn( $borrowernumber, $item->itemnumber, $exemptfine, 'RETURNED' ); - defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, $item->itemnumber...) failed!"; # zero is OK, check defined + defined($fix) or warn "_FixOverduesOnReturn($borrowernumber, ".$item->itemnumber."...) failed!"; # zero is OK, check defined if ( $issue and $issue->is_overdue($return_date) ) { # fix fine days @@ -2453,15 +2453,16 @@ sub _FixOverduesOnReturn { $credit->apply({ debits => [ $accountline ], offset_type => 'Forgiven' }); - $accountline->status('FORGIVEN'); - $accountline->store(); - if (C4::Context->preference("FinesLog")) { &logaction("FINES", 'MODIFY',$borrowernumber,"Overdue forgiven: item $item"); } + + $accountline->status('FORGIVEN'); + $accountline->store(); } else { $accountline->status($status); $accountline->store(); + } } ); -- 2.20.1