From 9fc4c64140640df25b7a6519226d3d097bd9b72c Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 11 Apr 2013 15:46:50 -0400 Subject: [PATCH] Bug 10030 - MaxFines checks against amount, not amount outstanding If a patron has over time accumulated fines greater than the amount defined in MaxFine, the patron will never get more fines even if they have previously paid off those fines. This bug was introduced by the patch for Bug 7420. Test Plan: 1) Create a patron 2) Create a fine of 10.00 for that patron 3) Pay off the fine 4) Set MaxFines to 5.00 5) Check out an item to the patron, backdate the due date so the item should generate fines. 6) Run fines.pl, observe that no fine was created 7) Apply the patch 8) Rerun fines.pl 9) Observe that the fine was created correctly Signed-off-by: Chris Cormack Signed-off-by: Marcel de Rooy Signed-off-by: Jared Camins-Esakov --- C4/Overdues.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/C4/Overdues.pm b/C4/Overdues.pm index bc1c7a77db..c99a669c4f 100644 --- a/C4/Overdues.pm +++ b/C4/Overdues.pm @@ -540,8 +540,9 @@ sub UpdateFine { next; } } - $total_amount_other += $rec->{'amount'}; + $total_amount_other += $rec->{'amountoutstanding'}; } + if (my $maxfine = C4::Context->preference('MaxFine')) { if ($total_amount_other + $amount > $maxfine) { my $new_amount = $maxfine - $total_amount_other; -- 2.20.1