[freeside-commits] branch FREESIDE_2_3_BRANCH updated. bebc6056dddc1bdeb0f3f763659cb9909d787583

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


The branch, FREESIDE_2_3_BRANCH has been updated
       via  bebc6056dddc1bdeb0f3f763659cb9909d787583 (commit)
      from  00068a5f2d8535d64b4900d2fd8470c1333ea7ac (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 bebc6056dddc1bdeb0f3f763659cb9909d787583
Author: Mark Wells <mark at freeside.biz>
Date:   Thu Apr 5 19:13:30 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