[open-ils-commits] r14799 - branches/rel_1_6_0/Open-ILS/src/perlmods/OpenILS/Application (erickson)
svn at svn.open-ils.org
svn at svn.open-ils.org
Thu Nov 5 17:48:01 EST 2009
Author: erickson
Date: 2009-11-05 17:47:55 -0500 (Thu, 05 Nov 2009)
New Revision: 14799
Modified:
branches/rel_1_6_0/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm
Log:
use new mbts mat view directly instead of jumping through the billable xact. remove explicit xact management and rely on authoritative
Modified: branches/rel_1_6_0/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm
===================================================================
--- branches/rel_1_6_0/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm 2009-11-05 22:47:07 UTC (rev 14798)
+++ branches/rel_1_6_0/Open-ILS/src/perlmods/OpenILS/Application/Actor.pm 2009-11-05 22:47:55 UTC (rev 14799)
@@ -1533,6 +1533,7 @@
->method_lookup('open-ils.actor.user.transactions.history.still_open')
->run($login_session => $user_id => $type);
+
if($api =~ /have_charge/o) {
$trans = [ grep { int($_->total_owed * 100) > 0 } @$trans ];
@@ -1983,7 +1984,7 @@
my( $self, $conn, $auth, $userid, $type ) = @_;
# run inside of a transaction to prevent replication delays
- my $e = new_editor(xact=>1, authtoken=>$auth);
+ my $e = new_editor(authtoken=>$auth);
return $e->die_event unless $e->checkauth;
if( $e->requestor->id ne $userid ) {
@@ -1994,37 +1995,34 @@
my $api = $self->api_name;
my @xact_finish = (xact_finish => undef ) if ($api =~ /history.still_open$/);
- my @xacts = @{ $e->search_money_billable_transaction(
- [ { usr => $userid, @xact_finish },
- { flesh => 1,
- flesh_fields => { mbt => [ qw/billings payments grocery circulation/ ] },
- order_by => { mbt => 'xact_start DESC' },
- }
- ],
- {substream => 1}
- ) };
+ my $mbts = $e->search_money_billable_transaction_summary(
+ [
+ { usr => $userid, @xact_finish },
+ { order_by => { mbt => 'xact_start DESC' } }
+ ]
+ );
- $e->rollback;
-
- my @mbts = $U->make_mbts( $e, @xacts );
-
if(defined($type)) {
- @mbts = grep { $_->xact_type eq $type } @mbts;
+ @$mbts = grep { $_->xact_type eq $type } @$mbts;
}
if($api =~ /have_balance/o) {
- @mbts = grep { int($_->balance_owed * 100) != 0 } @mbts;
+ @$mbts = grep { int($_->balance_owed * 100) != 0 } @$mbts;
}
if($api =~ /have_charge/o) {
- @mbts = grep { defined($_->last_billing_ts) } @mbts;
+ @$mbts = grep { defined($_->last_billing_ts) } @$mbts;
}
if($api =~ /have_bill/o) {
- @mbts = grep { int($_->total_owed * 100) != 0 } @mbts;
+ @$mbts = grep { int($_->total_owed * 100) != 0 } @$mbts;
}
- return [@mbts];
+ if ($api =~ /\.ids/) {
+ return [map {$_->id} @$mbts];
+ } else {
+ return $mbts;
+ }
}
More information about the open-ils-commits
mailing list