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 commitc4e2f4c718) Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com> (cherry picked from commit1739543148) Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
This commit is contained in:
parent
244698daa0
commit
f42e2194d7
|
|
@ -503,6 +503,7 @@ sub apply {
|
|||
if ( $self->credit_type_code ne 'FORGIVEN' && $debit->is_renewable ) {
|
||||
$debit->renew_item( { interface => $params->{interface} } );
|
||||
}
|
||||
$debit->discard_changes; # Refresh values from DB to clear floating point remainders
|
||||
|
||||
# Same logic exists in Koha::Account::pay
|
||||
if (
|
||||
|
|
|
|||
Loading…
Reference in New Issue