[freeside-commits] freeside/httemplate/graph/elements monthly.html, 1.8, 1.9

Erik Levinson levinse at wavetail.420.am
Fri May 13 13:03:22 PDT 2011


Update of /home/cvs/cvsroot/freeside/httemplate/graph/elements
In directory wavetail.420.am:/tmp/cvs-serv1456/httemplate/graph/elements

Modified Files:
	monthly.html 
Log Message:
create a Sales, Credits, and Receipts report broken down by day, RT11470

Index: monthly.html
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/graph/elements/monthly.html,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -w -d -r1.8 -r1.9
--- monthly.html	30 Dec 2010 23:03:50 -0000	1.8
+++ monthly.html	13 May 2011 20:03:20 -0000	1.9
@@ -19,6 +19,7 @@
     'links'           => \@links,      # or \%link, #opt
     'link_fromparam'  => 'param_from', #defaults to 'begin'
     'link_toparam'    => 'param_to',   #defaults to 'end'
+    'daily'           => 1, # omit for monthly granularity
 
     #optional, pulled from CGI params if not specified
     'start_month'     => $smonth,
@@ -26,6 +27,12 @@
     'end_month'       => $emonth,
     'end_year'        => $eyear,
 
+
+    #optional, pulled from CGI params if not specified, 
+    #only if 'daily' option is given
+    'start_day'       => $sday,
+    'end_day'         => $eday,
+
     #optional
     'agentnum'        => $agentnum,
     'nototal'         => 1,
@@ -42,8 +49,7 @@
             'data'          => $data->{'data'},
             'row_labels'    => $data->{'item_labels'},
             'graph_labels'  => $opt{'graph_labels'} || $data->{'item_labels'},
-            'col_labels'    => [ map { my $m = $_; $m =~ s/^(\d+)\//$mon[$1-1] / ; $m }
-                                 @{$data->{label}} ],
+            'col_labels'    => $col_labels,
             'axis_labels'   => $data->{label},
             'colors'        => $data->{colors},
             'links'         => \@links,
@@ -83,8 +89,12 @@
 $opt{'end_month'} ||= $cgi->param('end_month'); # || $curmon+1;
 $opt{'end_year'}  ||= $cgi->param('end_year'); # || 1900+$curyear;
 
-my $report = new FS::Report::Table::Monthly (
+if ( $opt{'daily'} ) { # daily granularity
+    $opt{'start_day'} ||= $cgi->param('start_day');
+    $opt{'end_day'} ||= $cgi->param('end_day');
+}
 
+my %reportopts = (
   'items'        => \@items,
   'params'       => $opt{'params'},
   'item_labels'  => ( $cgi->param('_type') =~ /^(png)$/
@@ -94,17 +104,26 @@
   'colors'       => $opt{'colors'},
   'links'        => $opt{'links'},
 
+      'start_day'    => $opt{'start_day'},
   'start_month'  => $opt{'start_month'},
   'start_year'   => $opt{'start_year'},
+      'end_day'      => $opt{'end_day'},
   'end_month'    => $opt{'end_month'},
   'end_year'     => $opt{'end_year'},
-
   'agentnum'     => $opt{'agentnum'},
   'remove_empty' => $opt{'remove_empty'},
   'doublemonths' => $opt{'doublemonths'},
 );
+
+my $report;
+$report = new FS::Report::Table::Daily(%reportopts) if $opt{'daily'};
+$report = new FS::Report::Table::Monthly(%reportopts) unless $opt{'daily'};
 my $data = $report->data;
 
+my $col_labels = [ map { my $m = $_; $m =~ s/^(\d+)\//$mon[$1-1] / ; $m }
+                             @{$data->{label}} ];
+$col_labels = $data->{label} if $opt{'daily'};
+
 my @links;
 foreach my $link (@{ $data->{'links'} }) {
   my @speriod = @{$data->{'speriod'}};



More information about the freeside-commits mailing list