summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorC.J. Adams-Collier <cjac@colliertech.org>2014-09-03 12:21:43 -0700
committerC.J. Adams-Collier <cjac@colliertech.org>2014-09-03 14:43:48 -0700
commit2f16e6d6e40950637f714d2fdebfd44db1cf8db7 (patch)
tree5bb37e326fbad51c4dfc864fcc3ea12c0a6674aa
parentb57377d091b08fe8874d362d885361cc8380ca69 (diff)
FS RT ticket #884
-rw-r--r--httemplate/elements/menu.html5
-rw-r--r--httemplate/graph/signupdate.cgi29
2 files changed, 19 insertions, 15 deletions
diff --git a/httemplate/elements/menu.html b/httemplate/elements/menu.html
index aabee65ef..580c8dea1 100644
--- a/httemplate/elements/menu.html
+++ b/httemplate/elements/menu.html
@@ -113,8 +113,9 @@ tie my %report_customers, 'Tie::IxHash';
$report_customers{'List customers'} = [ \%report_customers_lists, 'List customers' ]
if $curuser->access_right('List all customers');
$report_customers{'Zip code distribution'} = [ $fsurl. 'search/report_cust_main-zip.html', 'Zip codes by number of customers' ];
-$report_customers{'Customer signup report'} = [ $fsurl. 'graph/report_cust_signup.html', 'New customer signups by date' ],
-$report_customers{'Advanced customer reports'} = [ $fsurl. 'search/report_cust_main.html', 'by status, signup date, agent, etc.' ]
+$report_customers{'Customer signup report'} = [ $fsurl. 'graph/report_cust_signup.html', 'New customer signups by date' ],
+$report_customers{'Sign-up Date report'} = [ $fsurl. 'graph/report_signupdate.html', 'Sign-up Date report (by date of sign-up)' ];
+$report_customers{'Advanced customer reports'} = [ $fsurl. 'search/report_cust_main.html', 'by status, signup date, agent, etc.' ]
if $curuser->access_right('Advanced customer search');
tie my %report_invoices_open, 'Tie::IxHash',
diff --git a/httemplate/graph/signupdate.cgi b/httemplate/graph/signupdate.cgi
index 5b7075868..43deddc8d 100644
--- a/httemplate/graph/signupdate.cgi
+++ b/httemplate/graph/signupdate.cgi
@@ -32,22 +32,25 @@ 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);
+
+my $sdate = DateTime->new(
+ year => $cgi->param('start_year'),
+ month => $cgi->param('start_month'),
+ time_zone => 'America/Los_Angeles',
+)->epoch();
+
+my $edate = DateTime->new(
+ year => $cgi->param('end_year'),
+ month => $cgi->param('end_month'),
+ time_zone => 'America/Los_Angeles',
+)->epoch();
+
+my $where .= " AND signupdate >= $sdate ".
+ " AND signupdate <= $edate ";
foreach my $cust (qsearch({ table => 'cust_main',
hashref => \%where,
- extra_sql => $sql } )) {
+ extra_sql => $where } )) {
next if !$cust->signupdate;
my $hour = time2str('%H',$cust->signupdate);
$count[$hour]++;