From 21e39818e42088ef316d7a29637094cd164c01b9 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! Signed-off-by: Kelly McElligott Signed-off-by: Martin Renvoize Signed-off-by: Jonathan Druart Signed-off-by: Martin Renvoize --- C4/Circulation.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 747d660ea6..bb419867d9 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -1854,6 +1854,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; @@ -1972,7 +1973,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.39.5