From: Mark Wells Date: Mon, 6 Jul 2015 21:30:10 +0000 (-0700) Subject: optionally include discounts in daily cashflow report, #37123 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=6400a0ec71fc47b217f4ab12bf95b74b77aeb260 optionally include discounts in daily cashflow report, #37123 --- diff --git a/FS/FS/Report/Table/Daily.pm b/FS/FS/Report/Table/Daily.pm index 66739379d..8d623e766 100644 --- a/FS/FS/Report/Table/Daily.pm +++ b/FS/FS/Report/Table/Daily.pm @@ -121,16 +121,20 @@ sub data { my @newdata = (); my @newcolors = (); my @newlinks = (); + my @indices = (); foreach my $item ( @{$self->{'items'}} ) { - if ( grep { $_ != 0 } @{$data{'data'}->[$col]} ) { - push @newitems, $data{'items'}->[$col]; - push @newlabels, $data{'item_labels'}->[$col]; - push @newdata, $data{'data'}->[$col]; - push @newcolors, $data{'colors'}->[$col]; - push @newlinks, $data{'links'}->[$col]; - } - + my $is_nonzero = scalar( grep { $_ != 0 } @{ $data{'data'}->[$col] }); + next if ($self->{'remove_empty'} and $is_nonzero == 0); + # no daily reports can normalize yet + push @newitems, $data{'items'}->[$col]; + push @newlabels, $data{'item_labels'}->[$col]; + push @newdata, $data{'data'}->[$col]; + push @newcolors, $data{'colors'}->[$col]; + push @newlinks, $data{'links'}->[$col]; + push @indices, $col; + + } continue { $col++; } @@ -139,7 +143,10 @@ sub data { $data{'data'} = \@newdata; $data{'colors'} = \@newcolors; $data{'links'} = \@newlinks; + $data{'indices'} = \@indices; + } else { # not doing remove_empty; report back that all columns are included + $data{'indices'} = [ 0 .. scalar( @{$self->{'items'}} ) - 1 ]; } \%data; diff --git a/httemplate/graph/money_time_daily.cgi b/httemplate/graph/money_time_daily.cgi index 9b2ca714b..00771d3d6 100644 --- a/httemplate/graph/money_time_daily.cgi +++ b/httemplate/graph/money_time_daily.cgi @@ -8,7 +8,6 @@ 'links' => \%link, 'agentnum' => $agentnum, 'cust_classnum'=> \@classnums, - 'nototal' => scalar($cgi->param('12mo')), 'daily' => 1, 'start_day' => $smday, 'start_month' => $smon+1, @@ -44,19 +43,20 @@ my ($ssec,$smin,$shour,$smday,$smon,$syear,$swday,$syday,$sisdst) my ($esec,$emin,$ehour,$emday,$emon,$eyear,$ewday,$eyday,$eisdst) = localtime($ending); -my @items = qw( invoiced netsales +my @items = ($cgi->param('exclude_discount') ? 'invoiced' : 'gross'); +push @items, + qw( discounted netsales credits netcredits payments receipts refunds netrefunds cashflow netcashflow ); -if ( $cgi->param('12mo') == 1 ) { - @items = map $_.'_12mo', @items; -} my %label = ( - 'invoiced' => 'Gross Sales', + 'gross' => 'Gross Sales', + 'invoiced' => 'Invoiced Sales', 'netsales' => 'Net Sales', + 'discounted' => 'Discounts', 'credits' => 'Gross Credits', 'netcredits' => 'Net Credits', 'payments' => 'Gross Receipts', @@ -68,8 +68,10 @@ my %label = ( ); my %graph_suffix = ( - 'invoiced' => ' (invoiced)', + 'gross' => ' (invoiced + discounts)', + 'invoiced' => '', 'netsales' => ' (invoiced - applied credits)', + 'discounted' => '', 'credits' => ' (credited)', 'netcredits' => ' (applied credits)', 'payments' => ' (payments)', @@ -81,13 +83,8 @@ my %graph_suffix = ( ); my %graph_label = map { $_ => $label{$_}.$graph_suffix{$_} } keys %label; -$label{$_.'_12mo'} = $label{$_}. " (prev 12 months)" - foreach keys %label; - -$graph_label{$_.'_12mo'} = $graph_label{$_}. " (prev 12 months)" - foreach keys %graph_label; - my %color = ( + 'gross' => '9999ff', #light blue 'invoiced' => '9999ff', #light blue 'netsales' => '0000cc', #blue 'credits' => 'ff9999', #light red @@ -98,12 +95,12 @@ my %color = ( 'netrefunds' => 'ff9900', #orange 'cashflow' => '99cc33', #light olive 'netcashflow' => '339900', #olive + 'discounted' => 'cc33cc', #purple-ish? ); -$color{$_.'_12mo'} = $color{$_} - foreach keys %color; my %link = ( - 'invoiced' => "${p}search/cust_bill.html?agentnum=$agentnum;", + 'gross' => "${p}search/cust_bill.html?agentnum=$agentnum;", + 'invoiced' => "${p}search/cust_bill.html?agentnum=$agentnum;invoiced=1;", 'netsales' => "${p}search/cust_bill.html?agentnum=$agentnum;net=1;", 'credits' => "${p}search/cust_credit.html?agentnum=$agentnum;", 'netcredits' => "${p}search/cust_credit_bill.html?agentnum=$agentnum;", @@ -111,7 +108,7 @@ my %link = ( 'receipts' => "${p}search/cust_bill_pay.html?agentnum=$agentnum;", 'refunds' => "${p}search/cust_refund.html?magic=_date;agentnum=$agentnum;", 'netrefunds' => "${p}search/cust_credit_refund.html?agentnum=$agentnum;", + 'discounted' => "${p}search/cust_bill_pkg_discount.html?agentnum=$agentnum;", ); -# XXX link 12mo? diff --git a/httemplate/graph/report_money_time_daily.html b/httemplate/graph/report_money_time_daily.html index e80f5862c..ca3d915f1 100644 --- a/httemplate/graph/report_money_time_daily.html +++ b/httemplate/graph/report_money_time_daily.html @@ -21,6 +21,18 @@ 'multiple' => 1, &> + + + + <& /elements/checkbox.html, + field => 'exclude_discount', + value => 1, + curr_value => 0, + &> + <% emt('Exclude discounts from total sales') %> + + +