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)
committerDan Wells <dbw2@calvin.edu>
Thu, 20 Jul 2017 22:11:35 +0000 (18:11 -0400)
commit40f820cd23345ca8e4bb6caf249f6ffe52afe94c
treed8407b0698235548835a932f4769944fee915963
parent702b196000e26e2c706f1ae53f9fa8b0d02a50a3
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