From 459a75ca956ba5c135289a0154e402d799a1166f Mon Sep 17 00:00:00 2001 From: Emily Lamancusa Date: Thu, 24 Oct 2024 11:37:56 -0400 Subject: [PATCH] Bug 22421: (follow-up) Use checkout accessor to get correct issue_id In some cases, we may want to update an AccountLine that is linked to a checkout without knowing whether it is a current or old checkout. In these cases, use the AccountLines ->checkout accessor to ensure we get the issue_id correctly, regardless of whether it is a current issue or and old_issue. This also applies when generating a new AccountLine based on an existing AccountLine (for example, adding a credit to refund a previously charged fine) --- C4/Overdues.pm | 2 +- Koha/Item.pm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/C4/Overdues.pm b/C4/Overdues.pm index a2494f7f1e..c5bf3db57d 100644 --- a/C4/Overdues.pm +++ b/C4/Overdues.pm @@ -561,7 +561,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 ( defined $overdue->issue_id && $overdue->issue_id == $issue_id && $overdue->status eq 'UNRETURNED' ) { + if ( defined $overdue->checkout && $overdue->checkout->issue_id == $issue_id && $overdue->status eq 'UNRETURNED' ) { if ($accountline) { Koha::Logger->get->debug("Not a unique accountlines record for issue_id $issue_id"); # FIXME Do we really need to log that? #FIXME Should we still count this one in total_amount ?? diff --git a/Koha/Item.pm b/Koha/Item.pm index 286a0a7d95..43adfbba64 100644 --- a/Koha/Item.pm +++ b/Koha/Item.pm @@ -1573,7 +1573,7 @@ sub _set_found_trigger { interface => C4::Context->interface, library_id => $branchcode, item_id => $self->itemnumber, - issue_id => $lost_charge->issue_id + issue_id => $lost_charge->checkout ? $lost_charge->checkout->issue_id : undef, } ); @@ -1729,7 +1729,7 @@ sub _set_found_trigger { interface => C4::Context->interface, library_id => $branchcode, item_id => $self->itemnumber, - issue_id => $processing_charge->issue_id + issue_id => $processing_charge->checkout ? $processing_charge->checkout->issue_id : undef, } ); -- 2.34.1