From: Bill Erickson Date: Fri, 4 May 2012 13:18:10 +0000 (-0400) Subject: Check if transaction needs closing after adding billings X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=123751f55c82babf83ad9a219722c3d15cbcca2e;p=evergreen%2Fpines.git Check if transaction needs closing after adding billings This addresses the issue where issuing refunds results in a negative ballance and it is then impossible to close the transaction by creating new billings. https://bugs.launchpad.net/evergreen/+bug/758982 Signed-off-by: Bill Erickson Signed-off-by: Mike Rylander --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm index b8cc5730b3..f8c276d28a 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Money.pm @@ -703,6 +703,10 @@ sub billing_items_create { $e->create_money_billing($billing) or return $e->die_event; my $evt = OpenILS::Utils::Penalty->calculate_penalties($e, $xact->usr, $U->xact_org($xact->id,$e)); return $evt if $evt; + + $evt = _check_open_xact($e, $xact->id, $xact); + return $evt if $evt; + $e->commit; return $billing->id;