X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FController%2FGL.pm;h=e79f304cbc3ef61ca5ce73083804f5d3ce42cc33;hb=36b7bf7bb11f3875b818387aeda1fad363eb6c96;hp=a407e80fe3d823c89bdf5fb5f85ec7cbab90e237;hpb=c23b1062b2578fb6792a403d2d8ff599138b3885;p=kivitendo-erp.git diff --git a/SL/Controller/GL.pm b/SL/Controller/GL.pm index a407e80fe..e79f304cb 100644 --- a/SL/Controller/GL.pm +++ b/SL/Controller/GL.pm @@ -8,6 +8,7 @@ use SL::DB::Invoice; use SL::DB::PurchaseInvoice; use SL::DB::AccTransaction; use SL::Locale::String qw(t8); +use List::Util qw(sum); __PACKAGE__->run_before('check_auth'); @@ -38,14 +39,9 @@ sub action_quicksearch { my $ars = SL::DB::Manager::Invoice->get_all( query => [ @arfilter ], limit => $limit, sort_by => 'transdate DESC', with_objects => [ 'customer' ]); my $aps = SL::DB::Manager::PurchaseInvoice->get_all(query => [ @apfilter ], limit => $limit, sort_by => 'transdate DESC', with_objects => [ 'vendor' ]); - # calculate an amount to be displayed for gl transaction + # use the sum of all credit amounts as the "amount" of the gl transaction foreach my $gl ( @$gls ) { - my $amount = 0; - my $acc_trans_lines = SL::DB::Manager::AccTransaction->get_all(query => [ trans_id => $gl->id ]); - foreach my $acc_trans_line ( @$acc_trans_lines ) { - $amount += $acc_trans_line->amount if $acc_trans_line->amount > 0 ; - }; - $gl->{'amount'} = $amount; + $gl->{'amount'} = sum map { $_->amount if $_->amount > 0 } @{$gl->transactions}; }; my $gldata = [