Option to ignore old CDRs, RT#81480
[freeside.git] / httemplate / index.html
index 95d4580..6e84611 100644 (file)
@@ -1,66 +1,72 @@
-<% my $conf = new FS::Conf; %>
-<%= include('/elements/header.html', 'Freeside Main Menu' ) %>
+<%init>my $debug = $cgi->param('debug');</%init>
+% warn time.": header.html\n" if $debug;
+%
+<& /elements/header.html, mt('Billing Main') &>
 
-  <BR>
+% warn time.": dashboard-install_welcome.html\n" if $debug;
+%
+<& /elements/dashboard-install_welcome.html &>
 
-[<A NAME="customer_service" style="background-color: #cccccc">&nbsp;Sales&nbsp;/&nbsp;Customer&nbsp;service&nbsp;</A>]
-[&nbsp;<A HREF="#bookkeeping">Bookkeeping&nbsp;/&nbsp;Collections</A>&nbsp;]
-[&nbsp;<A HREF="#reports">Reports</A>&nbsp;]
-    <TABLE CELLSPACING=2 CELLPADDING=0 BORDER=0" WIDTH="100%" BGCOLOR="#eeeeee" STYLE="border: 1px solid black">
-    <TR><TH BGCOLOR="#cccccc">Sales / Customer service</TH></TR>
-    <TR><TD>
-        <BR><FORM ACTION="search/svc_acct.cgi" METHOD="GET">Username <INPUT TYPE="text" NAME="username"><SELECT NAME="username_type"><OPTION VALUE="All">(all)</OPTION><OPTION>Fuzzy</OPTION><OPTION>Substring</OPTION><OPTION SELECTED>Exact</OPTION></SELECT><INPUT TYPE="submit" VALUE="Search"></FORM>
-        <BR><FORM ACTION="search/svc_domain.cgi" METHOD="GET">Domain <INPUT TYPE="text" NAME="domain"><INPUT TYPE="submit" VALUE="Search"></FORM>
-       <BR><FORM ACTION="search/svc_broadband.cgi" METHOD="GET">IP Address <INPUT TYPE="text" NAME="ip_addr"><INPUT TYPE="submit" VALUE="Search"></FORM>
-      <BR>
-    </TD></TR>
-    </TABLE>
+% warn time.": dashboard-toplist.html\n" if $debug;
+%
+<& /elements/dashboard-toplist.html &>
 
-    <BR><BR><BR>
+% my $curuser = $FS::CurrentUser::CurrentUser;
+% my $numcust = $curuser->option('dashboard_customers');
+% $numcust ||= 10 unless $numcust =~ /^\s*0+\s*$/;
+% if ( $numcust ) {
+%
+%   warn time.": fetching recently changed customers\n" if $debug;
+%
+%   my $sth = dbh->prepare(
+%     #"SELECT DISTINCT custnum FROM h_cust_main JOIN cust_main USING ( custnum )
+%     "SELECT custnum FROM h_cust_main JOIN cust_main USING ( custnum )
+%        WHERE ( history_action = 'insert' OR history_action = 'replace_new' ) 
+%          AND ( history_usernum = ? OR history_user = ? )
+%          AND ". $curuser->agentnums_sql( table=>'cust_main' ).
+%     "  ORDER BY history_date desc LIMIT 1000" # LIMIT 10
+%     ) or die dbh->errstr;
+%
+%
+%   $sth->execute( $curuser->usernum, $curuser->username ) or die $sth->errstr;
+%
+%   my %saw = ();
+%   my @custnums = grep { !$saw{$_}++ } map $_->[0], @{ $sth->fetchall_arrayref };
+%
+%   @custnums = splice(@custnums, 0, $numcust);
+%
+%   if ( @custnums ) {
+%     warn time.": displaying recently changed customers\n" if $debug;
 
+      <& /elements/table-grid.html &>
 
-[&nbsp;<A HREF="#customer_service">Sales&nbsp;/&nbsp;Customer&nbsp;service</A>&nbsp;]
-[<A NAME="bookkeeping" style="background-color: #cccccc">&nbsp;Bookkeeping&nbsp;/&nbsp;Collections&nbsp;</A>]
-[&nbsp;<A HREF="#reports">Reports</A>&nbsp;]
-    <TABLE CELLSPACING=2 CELLPADDING=0 BORDER=0 WIDTH="100%" BGCOLOR="#eeeeee" STYLE="border: 1px solid black">
-    <TR><TH BGCOLOR="#cccccc">Bookkeeping / Collections</TH></TR>
-    <TR><TD>
-      <BR><A HREF="misc/batch-cust_pay.html">Quick payment entry</A>
-      <BR>
-      <BR><FORM ACTION="search/cust_main.cgi" METHOD="GET">Credit card # <INPUT TYPE="hidden" NAME="card_on" VALUE="1"><INPUT TYPE="text" NAME="card"><INPUT TYPE="submit" VALUE="Search"></FORM>
-      <FORM ACTION="search/cust_bill.html" METHOD="GET">Invoice # <INPUT TYPE="text" NAME="invnum" SIZE="8"><INPUT TYPE="submit" VALUE="Search"></FORM>
-      <FORM ACTION="search/cust_pay.cgi" METHOD="GET">Check # <INPUT TYPE="text" NAME="payinfo" SIZE="8"><INPUT TYPE="hidden" NAME="payby" VALUE="BILL"><INPUT TYPE="submit" VALUE="Search"></FORM>
-      <BR>
-      Invoice event reports
-            <UL>
-              <LI><a href="search/cust_bill_event.html">All invoice events for a date range</a>
-              <LI><a href="search/cust_bill_event.html?failed=1">Invoice event errors for a date range (failed credit cards, processor or printer problems, etc.)</a>
-            </UL>
-      <BR><BR>
-    </TD></TR>
-    </TABLE>
+%     my $bgcolor1 = '#eeeeee';
+%     my $bgcolor2 = '#ffffff';
+%     my $bgcolor = $bgcolor2;
 
+        <TR>
+          <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=1><% mt('Customers I recently added or modified') |h %></TH>
+        </TR>
 
+%     foreach my $custnum ( @custnums ) { 
+%     my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } ); 
+%     next unless $cust_main; 
 
-    <BR><BR><BR>
+        <TR>
+          <TD CLASS="grid" BGCOLOR="<% $bgcolor %>"><A HREF="view/cust_main.cgi?<% $custnum %>"><% $cust_main->display_custnum %>: <% $cust_main->name |h %></A></TD>
+        </TR>
 
+%       if ( $bgcolor eq $bgcolor1 ) {
+%          $bgcolor = $bgcolor2;
+%        } else {
+%          $bgcolor = $bgcolor1;
+%        }
+%    
+%     } 
 
+      </TABLE>
 
-[&nbsp;<A HREF="#customer_service">Sales&nbsp;/&nbsp;Customer&nbsp;service</A>&nbsp;]
-[&nbsp;<A HREF="#bookkeeping">Bookkeeping&nbsp;/&nbsp;Collections</A>&nbsp;]
-[<A NAME="reports" style="background-color: #cccccc">&nbsp;Reports&nbsp;</A>]
-    <TABLE CELLSPACING=2 CELLPADDING=0 BORDER=0 WIDTH="100%" BGCOLOR="#eeeeee" STYLE="border: 1px solid black">
-    <TR><TH BGCOLOR="#cccccc">Reports</TH></TR>
-    <TR><TD>
-      <BR>
-      <A HREF="search/sqlradius.html">RADIUS sessions</A><BR><BR>
-    <FORM ACTION="search/sql.html" METHOD="GET">SQL query: <TT>SELECT </TT><INPUT TYPE="text" NAME="sql" SIZE=32><INPUT TYPE="submit" VALUE="Query"></FORM>
-
-    <BR>
-    </TD></TR>
-    </TABLE>
-
-    <BR><BR><BR>
-
-<%= include('/elements/footer.html') %>
+%   } 
+% }
 
+<& /elements/footer.html &>