X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fgraph%2Felements%2Fmonthly.html;h=a451ea8ff401c71ba0bd316397c576b4f4b1cd1b;hb=20950bb21ee5dd8839a05dfcd58efa0a98e48e5a;hp=035bd0314bfc6f2170fcc4844a8226c2c1548b01;hpb=9509e5bfb7f9331303153cac24d7bfecbe2ea9f1;p=freeside.git diff --git a/httemplate/graph/elements/monthly.html b/httemplate/graph/elements/monthly.html index 035bd0314..a451ea8ff 100644 --- a/httemplate/graph/elements/monthly.html +++ b/httemplate/graph/elements/monthly.html @@ -1,310 +1,159 @@ -% -% -% # options example... -% # -% # 'title' => 'Page title', -% # 'items' => \@items, -% # 'params' => \@params, # opt, -% # 'labels' => \@labels, # or \%labels (keys are items) -% # 'graph_labels' => \@graph_labels, # or \%graph_labels, -% # 'colors' => \@colors, # or \%colors, -% # 'links => \@links, # or \%link, #opt -% # 'start_month' => $smonth, -% # 'start_year' => $syear, -% # 'end_month' => $emonth, -% # 'end_year' => $eyear, -% # 'agentnum' => $agentnum, #opt -% # 'nototal' => 1, #opt, -% # 'graph_type' => 'LinesPoints', #opt -% # 'remove_empty' => 1, #opt, -% # 'bottom_total' => 1, #opt, -% -% my(%opt) = @_; -% my @items = @{ $opt{'items'} }; -% -% foreach my $other (qw( labels graph_labels colors links )) { -% #foreach my $other (qw( labels graph_labels colors )) { -% if ( ref($opt{$other}) eq 'HASH' ) { -% $opt{$other} = [ map $opt{$other}{$_}, @items ]; -% } -% } -% -% my @mon = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); -% -% my $report = new FS::Report::Table::Monthly ( -% -% #'items' => $opt{'items'}, -% 'items' => \@items, -% 'params' => $opt{'params'}, -% 'item_labels' => ( $cgi->param('_type') =~ /^(png)$/ -% ? $opt{'graph_labels'} -% : $opt{'labels'} -% ), -% 'colors' => $opt{'colors'}, -% 'links' => $opt{'links'}, -% -% 'start_month' => $opt{'start_month'}, -% 'start_year' => $opt{'start_year'}, -% 'end_month' => $opt{'end_month'}, -% 'end_year' => $opt{'end_year'}, -% -% 'agentnum' => $opt{'agentnum'}, -% 'remove_empty' => $opt{'remove_empty'}, -% ); -% my $data = $report->data; -% -% if ( $cgi->param('_type') =~ /^(csv)$/ ) { -% -% #http_header('Content-Type' => 'text/comma-separated-values' ); #IE chokes -% http_header('Content-Type' => 'text/plain' ); -% -% my $csv = new Text::CSV_XS { 'always_quote' => 1, -% 'eol' => "\n", #"\015\012", #"\012" -% }; -% -% $csv->combine(map { my $m=$_; $m =~ s/^(\d+)\//$mon[$1-1] /; $m; } -% ('', @{$data->{label}}, $opt{'nototal'} ? () : 'Total') -% ); -% -<% $csv->string %> - -% my @bottom_total = (); -% foreach ( @{ $data->{'items'} } ) { -% -% my $col = 0; -% my $total = 0; -% $csv->combine( -% shift( @{ $data->{'item_labels'} } ), -% map { $total += $_; $bottom_total[$col++] += $_; sprintf("%.2f", $_); } -% ( @{ shift( @{$data->{data}} ) } ), -% ( $opt{'nototal'} ? () : sprintf("%.2f", $total) ), -% ); -% unless ( $opt{'nototal'} ) { -% $bottom_total[$col++] += $total; -% } -% -<% $csv->string %> - -% } -% -% if ( $opt{'bottom_total'} ) { -% $csv->combine( -% 'Total', -% map { sprintf("%.2f", $_) } @bottom_total, -% ); -% -<% $csv->string %> - -% } -% -% } elsif ( $cgi->param('_type') =~ /(\.xls)$/ ) { -% -% #http_header('Content-Type' => 'application/excel' ); #eww -% http_header('Content-Type' => 'application/vnd.ms-excel' ); -% #http_header('Content-Type' => 'application/msexcel' ); #alas -% -% my $output = ''; -% my $XLS = new IO::Scalar \$output; -% my $workbook = Spreadsheet::WriteExcel->new($XLS) -% or die "Error opening .xls file: $!"; -% -% my $worksheet = $workbook->add_worksheet(substr($opt{'title'},0,31)); -% -% my($r,$c) = (0,0); -% -% foreach ('', @{$data->{label}}, ($opt{'nototal'} ? () : 'Total') ) { -% my $header = $_; -% $header =~ s/^(\d+)\//$mon[$1-1] /; -% $worksheet->write($r, $c++, $header) -% } -% -% my @bottom_total = (); -% foreach ( @{ $data->{'items'} } ) { -% $r++; -% $c = 0; -% my $total = 0; -% $worksheet->write( $r, $c++, shift( @{ $data->{'item_labels'} } ) ); -% foreach ( @{ shift( @{$data->{data}} ) } ) { -% $total += $_; -% $bottom_total[$c] += $_; -% $worksheet->write($r, $c++, sprintf("%.2f", $_) ); -% } -% unless ( $opt{'nototal'} ) { -% $bottom_total[$c] += $total; -% $worksheet->write($r, $c++, sprintf("%.2f", $total) ); -% } -% } -% -% $c = 0; -% if ( $opt{'bottom_total'} ) { -% $r++; -% $worksheet->write($r, $c++, 'Total'); -% $worksheet->write($r, $c++, sprintf("%.2f", $_)) foreach @bottom_total; -% } -% -% $workbook->close();# or die "Error creating .xls file: $!"; -% -% http_header('Content-Length' => length($output) ); -% -<% $output %> -% } elsif ( $cgi->param('_type') =~ /^(png)$/ ) { -% -% #my $chart = Chart::LinesPoints->new(1024,480); -% #my $chart = Chart::LinesPoints->new(768,480); -% -% my $graph_type = 'LinesPoints'; -% if ( $opt{'graph_type'} =~ /^(LinesPoints|Mountain)$/ ) { -% $graph_type = $1; -% } -% my $class = "Chart::$graph_type"; -% -% my $chart = $class->new(976,384); -% -% my $d = 0; -% $chart->set( -% #'min_val' => 0, -% 'legend' => 'bottom', -% 'colors' => { ( -% map { my $color = $_; -% 'dataset'.$d++ => -% [ map hex($_), unpack 'a2a2a2', $color ] -% } -% #@{ $opt{'colors'} } -% @{ $data->{'colors'} } -% ), -% #'grey_background' => [ 211, 211, 211 ], -% 'grey_background' => 'white', -% 'background' => [ 0xe8, 0xe8, 0xe8 ], #grey -% }, -% #'grey_background' => 'false', -% 'legend_labels' => $data->{'item_labels'}, -% 'brush_size' => 4, -% #'pt_size' => 12, -% ); -% -% #my @data = map { $data->{$_} } ( 'label', @items ); -% my @data = @{ $data->{data} }; -% unshift @data, $data->{'label'}; -% -% http_header('Content-Type' => 'image/png' ); -% -% $chart->_set_colors(); -% -% -<% $chart->scalar_png(\@data) %> -% -% -% } else { -% -<% include('/elements/header.html', $opt{'title'} ) %> -% $cgi->param('_type', 'png'); - - -
- -% unless ( $opt{'disable_download'} ) { -% $cgi->param('_type', "monthly.xls" ); - Download full results - as Excel spreadsheet -% $cgi->param('_type', 'csv'); - as CSV file
-% $cgi->param('_type', "html" ); -% } -% - -<% include('/elements/table.html', 'e8e8e8') %> - -