From 66c235e33563ccd785ff9e0828398f778a75fb9f Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Fri, 27 Dec 2013 02:56:17 -0800 Subject: [PATCH] selectable sales report colors, RT#19464 --- FS/FS/access_user.pm | 1 + httemplate/docs/credits.html | 3 +- httemplate/docs/license.html | 13 +++++ httemplate/graph/cust_bill_pkg.cgi | 36 +++++------- httemplate/graph/report_cust_bill_pkg.html | 89 +++++++++++++++++++++++++++++- 5 files changed, 116 insertions(+), 26 deletions(-) diff --git a/FS/FS/access_user.pm b/FS/FS/access_user.pm index c938474a6..b740e47a4 100644 --- a/FS/FS/access_user.pm +++ b/FS/FS/access_user.pm @@ -401,6 +401,7 @@ sub agents { 'table' => 'agent', 'hashref' => { disabled=>'' }, 'extra_sql' => ' AND '. $self->agentnums_sql(@_), + 'order_by' => 'ORDER BY agent', }); } diff --git a/httemplate/docs/credits.html b/httemplate/docs/credits.html index 218698fb9..908f717c9 100644 --- a/httemplate/docs/credits.html +++ b/httemplate/docs/credits.html @@ -73,6 +73,7 @@ Scott Edwards
Kenny Elliott
Donald Greer
Joel Griffiths
+Brian Grinstead
Ryan Gunn
Troy Hammonds
Sean Hanson
@@ -162,7 +163,7 @@ function myHeight() { return document.body.document.height; else */ - return 1900; // approx height (add more per contributors) + return 1959; // approx height (add more per contributors) } document.body.style.overflow = 'hidden'; diff --git a/httemplate/docs/license.html b/httemplate/docs/license.html index 5262f7a34..798275347 100644 --- a/httemplate/docs/license.html +++ b/httemplate/docs/license.html @@ -42,6 +42,7 @@ All rights reserved
published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +

@@ -56,6 +57,7 @@ under the original GPLv2 license. Contains "Torrus" from Stanislav Sinyagin / K-Open GmbH, licensed under the terms of the GNU GPL. +

@@ -75,6 +77,7 @@ the GNU GPL. Contains XMenu by Erik Arvidsson, licensed under the terms of the GNU GPL. +

@@ -86,6 +89,7 @@ Contains "RTx::Statistics Package" Contains "RTx::WebCronTool" from Audrey Tang, licensed under the same terms as Perl (GPL/Artistic). +

@@ -117,6 +121,15 @@ Contains the Masked Input JavaScript library by Kendall Conrad, licensed under a Creative Commons Attribution-ShareAlike 3.0 United States license. +

+Contains the jQuery library by the jQuery Foundation and +other contributors, licensed under the terms of the MIT license. + +

+Contains the Spectrum No Hassle jQuery Colorpicker by Brian Grinstead, licensed +under the terms of the MIT license. + +

diff --git a/httemplate/graph/cust_bill_pkg.cgi b/httemplate/graph/cust_bill_pkg.cgi index 9660e5b88..39c972267 100644 --- a/httemplate/graph/cust_bill_pkg.cgi +++ b/httemplate/graph/cust_bill_pkg.cgi @@ -133,11 +133,6 @@ if ( $cgi->param('class_agg_break') eq 'aggregate' ) { #eslaf -my $hue = 0; -#my $hue_increment = 170; -#my $hue_increment = 145; -my $hue_increment = 125; - my @items = (); my @params = (); my @labels = (); @@ -165,14 +160,15 @@ elsif ( $use_usage == 2 ) { # If per-agent totals are enabled, they go under the Agent level. # There aren't any other kinds of subtotals. -foreach my $agent ( $all_agent || $sel_agent || qsearch('agent', { 'disabled' => '' } ) ) { +my $anum = 0; +foreach my $agent ( $all_agent || $sel_agent || $FS::CurrentUser::CurrentUser->agents ) { - my $col_scheme = Color::Scheme->new - ->from_hue($hue) #->from_hex($agent->color) - ->scheme('analogic') - ; - my @recur_colors = (); - my @onetime_colors = (); + my @agent_colors = map { my $col = $cgi->param("agent$anum-color$_"); + $col =~ s/^#//; + $col; + } + (0 .. 5); + my @colorbuf = (); ### fixup the color handling for package classes... ### and usage @@ -219,11 +215,8 @@ foreach my $agent ( $all_agent || $sel_agent || qsearch('agent', { 'disabled' => $rowlink .= "$class_param=$_;" foreach @classnums; push @links, $rowlink; - @recur_colors = ($col_scheme->colors)[0,4,8,1,5,9] - unless @recur_colors; - @onetime_colors = ($col_scheme->colors)[2,6,10,3,7,11] - unless @onetime_colors; - push @colors, shift @recur_colors; + @colorbuf = @agent_colors unless @colorbuf; + push @colors, shift @colorbuf; push @no_graph, 0; } #foreach $component @@ -260,11 +253,8 @@ foreach my $agent ( $all_agent || $sel_agent || qsearch('agent', { 'disabled' => "distribute=$distribute;". "use_override=$use_override;charges=$component;"; - @recur_colors = ($col_scheme->colors)[0,4,8,1,5,9] - unless @recur_colors; - @onetime_colors = ($col_scheme->colors)[2,6,10,3,7,11] - unless @onetime_colors; - push @colors, shift @recur_colors; + @colorbuf = @agent_colors unless @colorbuf; + push @colors, shift @colorbuf; push @no_graph, 0; } #foreach $component @@ -314,7 +304,7 @@ foreach my $agent ( $all_agent || $sel_agent || qsearch('agent', { 'disabled' => push @no_graph, 1; } - $hue += $hue_increment; + $anum++; } diff --git a/httemplate/graph/report_cust_bill_pkg.html b/httemplate/graph/report_cust_bill_pkg.html index d43ce7b64..1e54df3ab 100644 --- a/httemplate/graph/report_cust_bill_pkg.html +++ b/httemplate/graph/report_cust_bill_pkg.html @@ -1,4 +1,11 @@ -<% include('/elements/header.html', 'Sales Report' ) %> +<& /elements/header.html, + { title => 'Sales Report', + head => ' + + + ', + } +&>

@@ -16,6 +23,24 @@ + + Show per-agent subtotals @@ -189,4 +272,6 @@ window.onload = class_mode_changed; die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Financial reports'); +my @agents = $FS::CurrentUser::CurrentUser->agents; + -- 2.11.0