From: miker Date: Thu, 12 Oct 2006 19:46:00 +0000 (+0000) Subject: "correct" open_user_summary method X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=ba87a62d218545673a97ee9ed8c548752137df8e;p=evergreen%2Fpines.git "correct" open_user_summary method git-svn-id: svn://svn.open-ils.org/ILS/trunk@6448 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/money.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/money.pm index be28794f70..3edfc25630 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/money.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher/money.pm @@ -77,6 +77,35 @@ __PACKAGE__->register_method( argc => 1, ); +sub search_ous { + my $self = shift; + my $client = shift; + my $usr = shift; + + my @xacts = $self->method_lookup( 'open-ils.storage.money.billable_transaction.summary.search' )->run( { usr => $usr } ); + + my ($total,$owed,$paid) = (0.0,0.0,0.0); + for my $x (@xacts) { + $total += $x->total_owed; + $owed += $x->balance_owed; + $paid += $x->total_paid; + } + + my $ous = Fieldmapper::money::open_user_summary->new; + $ous->usr( $usr ); + $ous->total_paid( sprintf('%0.2f', $paid) ); + $ous->total_owed( sprintf('%0.2f', $total) ); + $ous->balance_owed( sprintf('%0.2f', $owed) ); + + return $ous; +} +__PACKAGE__->register_method( + method => 'search_ous', + api_name => 'open-ils.storage.money.open_user_summary.search', + stream => 1, + argc => 1, +); + sub new_collections { my $self = shift;