From c1f71dd760bded7af4e99e30fc1bc48d1e3dd05f Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 8 Jan 2020 15:27:31 -0500 Subject: [PATCH] Bug 24380 - Backdated returns do not update fines unless CalculateFinesOnReturn is enabled In Koha 18.11 backdating a return triggered a recalculation of the fine. This was removed in bug 14591, and I believe it was in error. The bug report itself has no justification for the change in behavior. Test Plan: 1) Disable CalculateFinesOnReturn 2) Backdate an overdue with fines, note the fine does not change 3) Apply this patch 4) Repeat step 2 5) The fine should be updated! --- C4/Circulation.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index d2506275e3..4a9041ef81 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -1843,6 +1843,7 @@ sub AddReturn { undef $branch; } $branch = C4::Context->userenv->{'branch'} unless $branch; # we trust userenv to be a safe fallback/default + my $return_date_specified = !!$return_date; $return_date //= dt_from_string(); my $messages; my $patron; @@ -1960,7 +1961,7 @@ sub AddReturn { MarkIssueReturned( $borrowernumber, $item->itemnumber, $return_date, $patron->privacy ); }; unless ( $@ ) { - if ( C4::Context->preference('CalculateFinesOnReturn') && !$item->itemlost ) { + if ( ( $return_date_specified || C4::Context->preference('CalculateFinesOnReturn') ) && !$item->itemlost ) { _CalculateAndUpdateFine( { issue => $issue, item => $item_unblessed, borrower => $patron_unblessed, return_date => $return_date } ); } } else { -- 2.21.0 (Apple Git-122.2)