diff options
Diffstat (limited to 'httemplate/graph/signupdate.cgi')
-rw-r--r-- | httemplate/graph/signupdate.cgi | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/httemplate/graph/signupdate.cgi b/httemplate/graph/signupdate.cgi new file mode 100644 index 000000000..5b7075868 --- /dev/null +++ b/httemplate/graph/signupdate.cgi @@ -0,0 +1,60 @@ +<% include('elements/report.html', + 'title' => $agentname . 'Customer signups by time of day', + 'items' => [ 'signupdate' ], + 'data' => [ \@count ], + 'row_labels' => [ 'New customers' ], + 'colors' => [ '00cc00' ], #green + 'col_labels' => [ map { "$_:00" } @hours ], + 'links' => [ \@links ], + 'graph_type' => 'Bars', + 'nototal' => 0, + 'sprintf' => '%u', + 'disable_money' => 1, + ) %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Financial reports'); + +#XXX or virtual +my( $agentnum, $agent ) = ('', ''); +if ( $cgi->param('agentnum') =~ /^(\d+)$/ ) { + $agentnum = $1; + $agent = qsearchs('agent', { 'agentnum' => $agentnum } ); + die "agentnum $agentnum not found!" unless $agent; +} + +my $agentname = $agent ? $agent->agent.' ' : ''; +my $usernum = $cgi->param('usernum'); + +my @hours = (0..23); +my @count = (0) x 24; +my %where; +$where{'agentnum'} = $agentnum if $agentnum; +$where{'usernum'} = $usernum if $usernum; +my $sdate = $cgi->param('start_year'). + '-'. + $cgi->param('start_month'). + '-01'; +my $edate = ($cgi->param('end_year') + + ($cgi->param('end_month')==12)). + '-'. + ($cgi->param('end_month') % 12 + 1). + '-01'; # first day of the next month + +my $sql = "AND signupdate >= ".str2time($sdate). + " AND signupdate < ".str2time($edate); + +foreach my $cust (qsearch({ table => 'cust_main', + hashref => \%where, + extra_sql => $sql } )) { + next if !$cust->signupdate; + my $hour = time2str('%H',$cust->signupdate); + $count[$hour]++; +} + +my @links = ("${p}search/cust_main.html?" . + join (';', map {$_.'='.$where{$_}} (keys(%where))) ). + ";signupdate_beginning=$sdate;signupdate_ending=$edate"; +push @links, map { ";signuphour=$_" } @hours; +</%init> |