From 43d5252f60e7322ea4a0922658939b703f304db2 Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Thu, 5 Apr 2012 19:14:03 -0700 Subject: [PATCH] simplify UI for projected sales report, #15393 --- FS/FS/Report/Table/Monthly.pm | 31 ++++++++++-------------------- httemplate/elements/tr-select-from_to.html | 2 +- httemplate/graph/elements/monthly.html | 9 ++------- httemplate/graph/report_cust_bill_pkg.html | 6 ++---- 4 files changed, 15 insertions(+), 33 deletions(-) diff --git a/FS/FS/Report/Table/Monthly.pm b/FS/FS/Report/Table/Monthly.pm index 41216992f..87c13a8ca 100644 --- a/FS/FS/Report/Table/Monthly.pm +++ b/FS/FS/Report/Table/Monthly.pm @@ -49,9 +49,8 @@ sub data { my $syear = $self->{'start_year'}; my $emonth = $self->{'end_month'}; my $eyear = $self->{'end_year'}; - # how far to extrapolate into the future - my $pmonth = $self->{'project_month'}; - my $pyear = $self->{'project_year'}; + # whether to extrapolate into the future + my $projecting = $self->{'projection'}; # sanity checks if ( $eyear < $syear or @@ -61,17 +60,14 @@ sub data { my $agentnum = $self->{'agentnum'}; - if ( $pyear > $eyear or - ($pyear == $eyear and $pmonth > $emonth) ) { + if ( $projecting ) { - # create the entire projection set first to avoid timing problems + $self->init_projection; - $self->init_projection if $pmonth; - - my $thisyear = $eyear; - my $thismonth = $emonth; - while ( $thisyear < $pyear || - ( $thisyear == $pyear and $thismonth <= $pmonth ) + my $thismonth = $smonth; + my $thisyear = $syear; + while ( $thisyear < $eyear || + ( $thisyear == $eyear and $thismonth <= $emonth ) ) { my $speriod = timelocal(0,0,0,1,$thismonth-1,$thisyear); $thismonth++; @@ -84,10 +80,8 @@ sub data { my %data; - my $max_year = $pyear || $eyear; - my $max_month = $pmonth || $emonth; - - my $projecting = 0; # are we currently projecting? + my $max_year = $eyear; + my $max_month = $emonth; while ( $syear < $max_year || ( $syear == $max_year && $smonth < $max_month+1 ) ) { @@ -101,11 +95,6 @@ sub data { push @{$data{label}}, "$smonth/$syear"; } - if ( $syear > $eyear || ( $syear == $eyear && $smonth >= $emonth + 1 ) ) { - # start getting data from the projection - $projecting = 1; - } - my $speriod = timelocal(0,0,0,1,$smonth-1,$syear); push @{$data{speriod}}, $speriod; if ( ++$smonth == 13 ) { $syear++; $smonth=1; } diff --git a/httemplate/elements/tr-select-from_to.html b/httemplate/elements/tr-select-from_to.html index 100381234..a27412f99 100644 --- a/httemplate/elements/tr-select-from_to.html +++ b/httemplate/elements/tr-select-from_to.html @@ -39,7 +39,7 @@ my %hash = ( 'show_month_abbr' => 1, 'start_year' => '1999', - 'end_year' => '2012', #haha, well... + 'end_year' => '2013', #haha, well... @_, ); diff --git a/httemplate/graph/elements/monthly.html b/httemplate/graph/elements/monthly.html index 072798c2a..86530dd39 100644 --- a/httemplate/graph/elements/monthly.html +++ b/httemplate/graph/elements/monthly.html @@ -92,10 +92,7 @@ $opt{'start_year'} ||= $cgi->param('start_year'); # || 1899+$curyear; $opt{'end_month'} ||= $cgi->param('end_month'); # || $curmon+1; $opt{'end_year'} ||= $cgi->param('end_year'); # || 1900+$curyear; -#find end of projection -$opt{'project_month'} ||= $cgi->param('project_month') || 0; -$opt{'project_year'} ||= $cgi->param('project_year') || 0; -# setting these to zero prevents projection on reports that don't support it +$opt{'projection'} ||= $cgi->param('projection') ? 1 : 0; if ( $opt{'daily'} ) { # daily granularity $opt{'start_day'} ||= $cgi->param('start_day'); @@ -118,9 +115,7 @@ my %reportopts = ( 'end_day' => $opt{'end_day'}, 'end_month' => $opt{'end_month'}, 'end_year' => $opt{'end_year'}, - 'project_day' => $opt{'project_day'}, - 'project_month' => $opt{'project_month'}, - 'project_year' => $opt{'project_year'}, + 'projection' => $opt{'projection'}, 'agentnum' => $opt{'agentnum'}, 'remove_empty' => $opt{'remove_empty'}, 'doublemonths' => $opt{'doublemonths'}, diff --git a/httemplate/graph/report_cust_bill_pkg.html b/httemplate/graph/report_cust_bill_pkg.html index f2c486cf4..07d4421e8 100644 --- a/httemplate/graph/report_cust_bill_pkg.html +++ b/httemplate/graph/report_cust_bill_pkg.html @@ -7,10 +7,8 @@ <% include('/elements/tr-select-from_to.html' ) %> - Project to: - <& /elements/select-month_year.html, - prefix => 'project', - show_month_abbr => 1 &> + + Show projected data for future months <% include('/elements/tr-select-agent.html', -- 2.11.0