referral listing now shows customer signups today and past
[freeside.git] / httemplate / browse / part_referral.cgi
index 8c2e263..1a57a5b 100755 (executable)
@@ -1,53 +1,63 @@
-<%
-#<!-- $Id: part_referral.cgi,v 1.2 2001-08-21 02:31:56 ivan Exp $ -->
-
-use strict;
-use vars qw( $cgi $p $part_referral );
-use CGI;
-use CGI::Carp qw(fatalsToBrowser);
-use FS::UID qw(cgisuidsetup swapuid);
-use FS::Record qw(qsearch);
-use FS::CGI qw(header menubar popurl table);
-use FS::part_referral;
-
-$cgi = new CGI;
-
-&cgisuidsetup($cgi);
-
-$p = popurl(2);
-
-print $cgi->header( '-expires' => 'now' ), header("Referral Listing", menubar(
+<!-- mason kludge -->
+<%= header("Advertising source Listing", menubar(
   'Main Menu' => $p,
 #  'Add new referral' => "../edit/part_referral.cgi",
-)), "Where a customer heard about your service. Tracked for informational purposes.<BR><BR>", &table(), <<END;
-      <TR>
-        <TH COLSPAN=2>Referral</TH>
-      </TR>
-END
+)) %>
+Where a customer heard about your service. Tracked for informational purposes.
+<BR><BR>
+<A HREF="<%= $p %>edit/part_referral.cgi"><I>Add a new advertising source</I></A>
+<BR><BR>
 
-foreach $part_referral ( sort { 
+<%
+  my $today = timelocal(0, 0, 0, (localtime(time))[3..5] );
+  my %past;
+  tie %past, 'Tie::IxHash',
+    'Today'         =>        0,
+    'Past week'     =>   518400, # 60sec * 60min * 24hrs * 6days
+    'Past 30 days'  =>  2505600, # 60sec * 60min * 24hrs * 29days 
+    'Past 60 days'  =>  5097600, # 60sec * 60min * 24hrs * 29days 
+    'Past 90 days'  =>  7689600, # 60sec * 60min * 24hrs * 29days 
+    'Past 6 months' => 15724800, # 60sec * 60min * 24hrs * 182days 
+    'Past year'     => 31486000, # 60sec * 60min * 24hrs * 364days 
+    'Total'         => $today,
+  ;
+
+  my $sth = dbh->prepare("SELECT COUNT(*) FROM h_cust_main
+                            WHERE refnum = ?
+                              AND history_date > ?         ")
+    or die dbh->errstr;
+%>
+
+<%= table() %>
+<TR>
+  <TH COLSPAN=2 ROWSPAN=2>Advertising source</TH>
+  <TH COLSPAN=<%= scalar(keys %past) %>>Customers</TH>
+</TR>
+<% for my $period ( keys %past ) { %>
+  <TH><FONT SIZE=-1><%= $period %></FONT></TH>
+<% } %>
+</TR>
+
+<%
+foreach my $part_referral ( sort { 
   $a->getfield('refnum') <=> $b->getfield('refnum')
 } qsearch('part_referral',{}) ) {
-  my($hashref)=$part_referral->hashref;
-  print <<END;
+%>
       <TR>
         <TD><A HREF="${p}edit/part_referral.cgi?$hashref->{refnum}">
-          $hashref->{refnum}</A></TD>
+          <%= $part_referral->refnum %></A></TD>
         <TD><A HREF="${p}edit/part_referral.cgi?$hashref->{refnum}">
-          $hashref->{referral}</A></TD>
+          <%= $part_referral->referral %></A></TD>
+        <% for my $period ( values %past ) {
+          $sth->execute($part_referral->refnum, $today-$period)
+            or die $sth->errstr;
+          my $number = $sth->fetchrow_arrayref->[0];
+        %>
+          <TD><%= $number %></TD>
+        <% } %>
       </TR>
-END
-
-}
+<% } %>
 
-print <<END;
-      <TR>
-        <TD COLSPAN=2><A HREF="${p}edit/part_referral.cgi"><I>Add new referral</I></A></TD>
-      </TR>
     </TABLE>
-    </CENTER>
   </BODY>
 </HTML>
-END
-
-%>