Bug 28482: Refresh line from DB to get stored value
authorNick Clemens <nick@bywatersolutions.com>
Fri, 28 May 2021 12:02:19 +0000 (12:02 +0000)
committerFridolin Somers <fridolin.somers@biblibre.com>
Mon, 21 Jun 2021 12:14:06 +0000 (14:14 +0200)
commit1739543148e910a8c8d9a488a1d2b8ed304d67f0
tree952eb45fca6be0ca68adafafb7516cdd92d29a66
parentc832ac3cae416c7bb6fdd19b18735e06d13afb19
Bug 28482: Refresh line from DB to get stored value

Before checking if the amount is 0 we get the stored value from the DB. This
ensures any amounts beyond the 6 digit precision we store will be removed.

To test:
1 - Add a processing fee of 15 to an itemtype
2 - Add an item of that type, set the replacement fee to 12.63
3 - Set MarkLostItemsAsReturned to 'On payment' only
4 - Set  WhenLostChargeReplacementFee to 'Charge'
5 - Checkout the item to a patron
6 - Mark the item lost
7 - Reload patron and confirm they are charged 27.63
8 - Go to accounting, pay amount, pay 27.63
9 - Item is still lost and not returned
10 - Apply patch
11 - Checkin the item
12 - Checkout to another patron
13 - Mark lost
14 - Patron charged 27.63
15 - Pay amount, 27.63
16 - Item returned!

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit c4e2f4c7180a1c4c287d11d2f2d8c635de81df38)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Koha/Account/Line.pm