From f69651d205711b1aaeb3d9bb037dfb591c5a2d6b 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) Signed-off-by: Martin Renvoize --- 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 7faa2e9f215..171651cdb38 100644 --- a/C4/Overdues.pm +++ b/C4/Overdues.pm @@ -563,7 +563,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 572b5f1ff61..dd471de5cbc 100644 --- a/Koha/Item.pm +++ b/Koha/Item.pm @@ -1591,7 +1591,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, } ); @@ -1747,7 +1747,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.47.0