1 <% include('elements/monthly.html',
3 'graph_type' => 'Mountain',
7 'graph_labels' => \@labels,
12 'bottom_link' => $bottom_link,
13 'agentnum' => $agentnum,
18 #false laziness w/cust_bill_pkg.cgi
21 unless $FS::CurrentUser::CurrentUser->access_right('Financial reports');
23 my $include_waived_setup = $cgi->param('include_waived_setup') || 0;
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;
30 my( $agentnum, $sel_agent ) = ('', '');
31 if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) {
33 $bottom_link .= "agentnum=$agentnum;";
34 $sel_agent = qsearchs('agent', { 'agentnum' => $agentnum } );
35 die "agentnum $agentnum not found!" unless $sel_agent;
37 my $title = $sel_agent ? $sel_agent->agent.' ' : '';
38 $title .= 'Discount Overview';
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;
53 foreach my $agent ( $sel_agent || qsearch('agent', { 'disabled' => '' } ) ) {
55 my $col_scheme = Color::Scheme->new
56 ->from_hue($hue) #->from_hex($agent->color)
61 #foreach my $pkg_class ( @pkg_class ) {
65 ? 'cust_bill_pkg_discount_or_waived'
66 : 'cust_bill_pkg_discount';
69 ( $sel_agent ? '' : $agent->agent.' ' );
71 # ? ( ref($pkg_class) ? $pkg_class->classname : $pkg_class )
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,
84 push @links, $link . "agentnum=$row_agentnum;";
86 @_colors = ($col_scheme->colors)[0,4,8,1,5,9,2,6,10,3,7,11];
87 push @colors, shift @_colors;
91 $hue += $hue_increment;
96 #warn Dumper(\@items);