default to a session cookie instead of setting an explicit timeout, weird timezone...
[freeside.git] / httemplate / graph / cust_bill_pkg_discount.html
1 <% include('elements/monthly.html',
2                 'title'        => $title,
3                 'graph_type'   => 'Mountain',
4                 'items'        => \@items,
5                 'params'       => \@params,
6                 'labels'       => \@labels,
7                 'graph_labels' => \@labels,
8                 'colors'       => \@colors,
9                 'links'        => \@links,
10                 'remove_empty' => 1,
11                 'bottom_total' => 1,
12                 'bottom_link'  => $bottom_link,
13                 'agentnum'     => $agentnum,
14           )
15 %>
16 <%init>
17
18 #false laziness w/cust_bill_pkg.cgi
19
20 die "access denied"
21   unless $FS::CurrentUser::CurrentUser->access_right('Financial reports');
22
23 my $include_waived_setup = $cgi->param('include_waived_setup') || 0;
24
25 my $link = "${p}search/cust_bill_pkg_discount.html?";
26 $link .= "include_waived_setup=Y&" if $include_waived_setup;
27 my $bottom_link = $link;
28
29 #XXX or virtual
30 my( $agentnum, $sel_agent ) = ('', '');
31 if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
32   $agentnum = $1;
33   $bottom_link .= "agentnum=$agentnum;";
34   $sel_agent = qsearchs('agent', { 'agentnum' => $agentnum } );
35   die "agentnum $agentnum not found!" unless $sel_agent;
36 }
37 my $title = $sel_agent ? $sel_agent->agent.' ' : '';
38 $title .= 'Discount Overview';
39
40
41 #my $hue = 0; # Start with illegible yellow-on-white
42 my $hue = 255; # Start with red-on-white
43 #my $hue_increment = 170;
44 #my $hue_increment = 145;
45 my $hue_increment = 125;
46
47 my @items  = ();
48 my @params = ();
49 my @labels = ();
50 my @colors = ();
51 my @links  = ();
52
53 foreach my $agent ( $sel_agent || qsearch('agent', { 'disabled' => '' } ) ) {
54
55   my $col_scheme = Color::Scheme->new
56                      ->from_hue($hue) #->from_hex($agent->color)
57                      ->scheme('analogic')
58                    ;
59   my @_colors = ();
60
61   #foreach my $pkg_class ( @pkg_class ) {
62
63       push @items,
64         $include_waived_setup
65         ? 'cust_bill_pkg_discount_or_waived'
66         : 'cust_bill_pkg_discount';
67
68       push @labels,
69         ( $sel_agent ? '' : $agent->agent.' ' );
70         #. ( $classnum eq '0'
71         #    ? ( ref($pkg_class) ? $pkg_class->classname : $pkg_class ) 
72         #    : ''
73         #  );
74
75       #my $row_classnum = ref($pkg_class) ? $pkg_class->classnum : 0;
76       my $row_agentnum = $agent->agentnum;
77       push @params, [ #'classnum'             => $row_classnum,
78                       'agentnum'             => $row_agentnum,
79                       #'use_override'         => $use_override,
80                       #'use_usage'            => $component,
81                       #'average_per_cust_pkg' => $average_per_cust_pkg,
82                     ];
83
84       push @links, $link . "agentnum=$row_agentnum;";
85
86       @_colors = ($col_scheme->colors)[0,4,8,1,5,9,2,6,10,3,7,11];
87       push @colors, shift @_colors;
88
89   #}
90
91   $hue += $hue_increment;
92
93 }
94
95 #use Data::Dumper;
96 #warn Dumper(\@items);
97
98 </%init>