From 6051eb2e0562e41c96f3c9a592c74ed4824cb0b4 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 --- C4/Overdues.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/C4/Overdues.pm b/C4/Overdues.pm index bc1c7a7..c99a669 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; -- 1.7.10.4