From 308da96ab5dc6f452f446f3112b0fa09fcded7bf Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Tue, 13 Apr 2021 15:14:11 +0000 Subject: [PATCH] Bug 28144: Check if issue_id defined Historical OVERDUE fines may not have an issue_id - this causes flooding of the logs when calling update fine Trivial change, reading the code should be enough, but test plan below To test: 1 - Create some fines without an issue_id - Either checkout an old version of Koha and add manually or - Checkout some items (backdated) to a patron, run fines.pl then UPDATE accountlines SET issue_id = NULL; 2 - Checkout a backdated item with fines in the circ rule to the same patron 3 - Run fines.pl 4 - Note the errors 5 - Apply patch 6 - Repeat and note no errors Signed-off-by: Martin Renvoize --- C4/Overdues.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Overdues.pm b/C4/Overdues.pm index d484c67b0f..faea77e0f3 100644 --- a/C4/Overdues.pm +++ b/C4/Overdues.pm @@ -545,7 +545,7 @@ sub UpdateFine { # - accumulate fines for other items # so we can update $itemnum fine taking in account fine caps while (my $overdue = $overdues->next) { - if ( $overdue->issue_id == $issue_id && $overdue->status eq 'UNRETURNED' ) { + if ( defined $overdue->issue_id && $overdue->issue_id == $issue_id && $overdue->status eq 'UNRETURNED' ) { if ($accountline) { $debug and warn "Not a unique accountlines record for issue_id $issue_id"; #FIXME Should we still count this one in total_amount ?? -- 2.20.1