[freeside-commits] branch master updated. 43d5252f60e7322ea4a0922658939b703f304db2

Mark Wells mark at 420.am
Thu Apr 5 19:17:35 PDT 2012


The branch, master has been updated
       via  43d5252f60e7322ea4a0922658939b703f304db2 (commit)
      from  aef1bdae7fb5e72b785581493901d390f2cbdac9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 43d5252f60e7322ea4a0922658939b703f304db2
Author: Mark Wells <mark at freeside.biz>
Date:   Thu Apr 5 19:14:03 2012 -0700

    simplify UI for projected sales report, #15393

diff --git a/FS/FS/Report/Table/Monthly.pm b/FS/FS/Report/Table/Monthly.pm
index 4121699..87c13a8 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 1003812..a27412f 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...
      @_,
   );
 </%init>
diff --git a/httemplate/graph/elements/monthly.html b/httemplate/graph/elements/monthly.html
index 072798c..86530dd 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 f2c486c..07d4421 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' ) %>
 
 <TR>
-  <TD ALIGN="right">Project to:</TD>
-  <TD><& /elements/select-month_year.html, 
-    prefix => 'project',
-    show_month_abbr => 1 &></TD>
+  <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="projection" VALUE="1"></TD>
+  <TD>Show projected data for future months</TD>
 </TR>
 
 <% include('/elements/tr-select-agent.html',

-----------------------------------------------------------------------

Summary of changes:
 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(-)




More information about the freeside-commits mailing list