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 <andrew@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Martin Renvoize 2021-03-24 17:13:57 +00:00 committed by Jonathan Druart
parent 6eea10dc53
commit ac233efccf

View file

@ -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