From 4df5bb33c4cf141e70b8253697ef56b8e9c6ace8 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 --- C4/Overdues.pm | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) 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.2.5