From dd7408e63e53f89ec08693c27ce4e7b5a29e2d50 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 24 Mar 2021 17:13:57 +0000 Subject: [PATCH] Bug 27927: Prevent renewal on lost forgive The `RenewAccruingItemWhenPaid` preference should only renew upon payment (and writeoff) and not upon automatic forgival triggered by `WhenLostForgiveFine`. Test plan 1/ Enable `WhenLostForgiveFine` and `RenewAccruingItemWhenPaid` 2/ Checkout an item and backdate it's due date 3/ Run longeroverdue.pl to mark the item as lost and create the fine 4/ Confirm that the item is not renewed as part of the process 5/ Signoff Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Nick Clemens --- Koha/Account/Line.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Koha/Account/Line.pm b/Koha/Account/Line.pm index 185c753772..22aaa4e00f 100644 --- a/Koha/Account/Line.pm +++ b/Koha/Account/Line.pm @@ -596,8 +596,8 @@ sub apply { # Attempt to renew the item associated with this debit if # appropriate - if ($debit->renewable) { - $debit->renew_item($params->{interface}); + if ( $self->credit_type_code ne 'FORGIVEN' && $debit->renewable ) { + $debit->renew_item( { interface => $params->{interface} } ); } # Same logic exists in Koha::Account::pay -- 2.11.0