[open-ils-commits] r7582 -
trunk/Open-ILS/src/perlmods/OpenILS/Application
svn at svn.open-ils.org
svn at svn.open-ils.org
Wed Jul 25 12:25:17 EDT 2007
Author: erickson
Date: 2007-07-25 12:24:17 -0400 (Wed, 25 Jul 2007)
New Revision: 7582
Modified:
trunk/Open-ILS/src/perlmods/OpenILS/Application/Circ.pm
Log:
offsetting the re-open transaction logic to the end of the set-lost logic. fixed bug where cleared xact_finish could be overwritten by previously loaded object
Modified: trunk/Open-ILS/src/perlmods/OpenILS/Application/Circ.pm
===================================================================
--- trunk/Open-ILS/src/perlmods/OpenILS/Application/Circ.pm 2007-07-25 14:44:12 UTC (rev 7581)
+++ trunk/Open-ILS/src/perlmods/OpenILS/Application/Circ.pm 2007-07-25 16:24:17 UTC (rev 7582)
@@ -311,16 +311,16 @@
return $evt if $evt;
}
+ my $evt = reopen_xact($e, $circ->id);
+ return $evt if $evt;
+
$e->commit;
return 1;
}
+sub reopen_xact {
+ my($e, $xactid) = @_;
-sub create_bill {
- my( $e, $amount, $type, $xactid ) = @_;
-
- $logger->info("The system is charging $amount [$type] on xact $xactid");
-
# -----------------------------------------------------------------
# make sure the transaction is not closed
my $xact = $e->retrieve_money_billable_transaction($xactid)
@@ -328,14 +328,21 @@
if( $xact->xact_finish ) {
my ($mbts) = $U->fetch_mbts($xactid, $e);
- if( ($mbts->balance_owed + $amount) != 0 ) {
- $logger->info("* re-opening xact $xactid");
+ if( $mbts->balance_owed != 0 ) {
+ $logger->info("* re-opening xact $xactid, orig xact_finish is ".$xact->xact_finish);
$xact->clear_xact_finish;
$e->update_money_billable_transaction($xact)
or return $e->die_event;
}
}
+}
+
+sub create_bill {
+ my( $e, $amount, $type, $xactid ) = @_;
+
+ $logger->info("The system is charging $amount [$type] on xact $xactid");
+
# -----------------------------------------------------------------
# now create the billing
my $bill = Fieldmapper::money::billing->new;
More information about the open-ils-commits
mailing list