Bug 25123: Count the current fine when reducing for maxFine
authorNick Clemens <nick@bywatersolutions.com>
Mon, 13 Apr 2020 11:38:28 +0000 (11:38 +0000)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Tue, 21 Apr 2020 11:29:41 +0000 (12:29 +0100)
If maxFine is set, we total the patrons outstanding fines when making an adjustment, however, we neglect to count the amount of a currently updating fine when doing so.

To test:
1 - Set maxFine to 5
2 - Create an overdue amount of 4.99 for a patron
3 - Set an itemtype to have a fine of $.10 per day
4 - Checkout an item of that type to a patron and backdate the due date so it is overdue
5 - Run fines.pl with -v
6 - Note the fine is reduced from $.10 (or a multiple) to .01
7 - Run it again, a second cent is added
8 - Repeat and note it keeps happening until the amount of the fine is reached, exceeding the maxFine setting
9 - Apply patch
10 - Note the fine is now reduced to 0 and nothing is added to account

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

C4/Overdues.pm

index 2f1212b..b6773c2 100644 (file)
@@ -552,7 +552,6 @@ sub UpdateFine {
             }
             else {
                 $accountline = $overdue;
-                next;
             }
         }
         $total_amount_other += $overdue->amountoutstanding;