LP#1689656: Adjust to zero on negative balance
authorJeff Davis <jdavis@sitka.bclibraries.ca>
Tue, 9 May 2017 21:17:29 +0000 (14:17 -0700)
committerChris Sharp <csharp@georgialibraries.org>
Fri, 18 Aug 2017 12:02:50 +0000 (08:02 -0400)
commit5640a781829ea40d97e4149e38f537b9c784e105
treec2fd8d87badce92a393590b60b88fe6e1d6654d1
parent58bbd41130c14352b49e4153a08af4aac07f9a72
LP#1689656: Adjust to zero on negative balance

Adjust to zero was not actually adjusting to zero on negative balances
in at least some cases.  This patch corrects that behavior.

Test plan:

[1] Generate multiple overdue billings on an overdue circ.
[2] Apply a payment (cash or forgive) to resolve the overdue billings.
[3] Checkin the item using backdated checkin or amnesty mode, such that
    the overdue billings are automatically voided, resulting in a
    negative balance.
[4] Adjust to zero.  A single new manual adjustment billing is created,
    reinstating one overdue billing, and then the adjust-to-zero process
    exits.  The negative balance has been reduced by the amount of one
    overdue billing, rather than being fully adjusted to zero.
[5] Apply the patch and restart services.
[6] Repeat steps 1-3 with a new circulation.
[7] Adjust to zero.  This time, the balance should be correctly adjusted
    to zero, instead of exiting prematurely with an outstanding
    negative balance.

Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Signed-off-by: Dan Wells <dbw2@calvin.edu>
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm