my $addl_qual = join(' AND ', @qual);
+ #here is the agent virtualization
+ $addl_qual .= ( $addl_qual ? ' AND ' : '' ).
+ $FS::CurrentUser::CurrentUser->agentnums_sql;
+
if ( $addl_qual ) {
$qual .= ' AND ' if $qual;
$qual .= $addl_qual;
push @cust_main, @{&companysearch};
}
+ if ( $cgi->param('search_cust') ) {
+ $sortby = \*company_sort;
+ $orderby = "ORDER BY LOWER(company || ' ' || last || ' ' || first )";
+ warn "smart searching for: ". $cgi->param('search_cust');
+ push @cust_main, smart_search( 'search' => $cgi->param('search_cust') );
+ }
+
@cust_main = grep { $_->ncancelled_pkgs || ! $_->all_pkgs } @cust_main
if ! $cgi->param('cancelled')
&& (
eidiot "No matching customers found!\n";
} else {
%>
-<!-- mason kludge -->
-<%
+<%= include('/elements/header.html', "Customer Search Results", '' ) %>
- $total ||= scalar(@cust_main);
- print header("Customer Search Results",menubar(
- 'Main Menu', popurl(2)
- )), "$total matching customers found ";
+ <% $total ||= scalar(@cust_main); %>
+ <%= $total %> matching customers found
+
+ <%
#begin pager
my $pager = '';
if ( $total != scalar(@cust_main) && $maxrecords ) {
$conf->config('ticket_system-custom_priority_field-values');
}
- print "<BR><BR>". $pager. &table(). <<END;
+ print "<BR><BR>". $pager. include('/elements/table-grid.html'). <<END;
<TR>
- <TH></TH>
- <TH>(bill) name</TH>
- <TH>company</TH>
+ <TH CLASS="grid" BGCOLOR="#cccccc"></TH>
+ <TH CLASS="grid" BGCOLOR="#cccccc">(bill) name</TH>
+ <TH CLASS="grid" BGCOLOR="#cccccc">company</TH>
END
if ( defined dbdef->table('cust_main')->column('ship_last') ) {
print <<END;
- <TH>(service) name</TH>
- <TH>company</TH>
+ <TH CLASS="grid" BGCOLOR="#cccccc">(service) name</TH>
+ <TH CLASS="grid" BGCOLOR="#cccccc">company</TH>
END
}
foreach my $addl_header ( @addl_headers ) {
- print "<TH>$addl_header</TH>";
+ print '<TH CLASS="grid" BGCOLOR="#cccccc">'. "$addl_header</TH>";
}
print <<END;
- <TH>Packages</TH>
- <TH COLSPAN=2>Services</TH>
+ <TH CLASS="grid" BGCOLOR="#cccccc">Packages</TH>
+ <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=2>Services</TH>
</TR>
END
+ my $bgcolor1 = '#eeeeee';
+ my $bgcolor2 = '#ffffff';
+ my $bgcolor;
+
my(%saw,$cust_main);
foreach $cust_main (
sort $sortby grep(!$saw{$_->custnum}++, @cust_main)
) {
+
+ if ( $bgcolor eq $bgcolor1 ) {
+ $bgcolor = $bgcolor2;
+ } else {
+ $bgcolor = $bgcolor1;
+ }
+
my($custnum,$last,$first,$company)=(
$cust_main->custnum,
$cust_main->getfield('last'),
my $pcompany = $company
? qq!<A HREF="$view"><FONT SIZE=-1>$company</FONT></A>!
: '<FONT SIZE=-1> </FONT>';
- print <<END;
+ %>
+
<TR>
- <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$custnum</FONT></A></TD>
- <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$last, $first</FONT></A></TD>
- <TD ROWSPAN=$rowspan>$pcompany</TD>
-END
+ <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>" ROWSPAN=<%= $rowspan || 1 %>><A HREF="<%= $view %>"><FONT SIZE=-1><%= $custnum %></FONT></A></TD>
+ <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>" ROWSPAN=<%= $rowspan || 1 %>><A HREF="<%= $view %>"><FONT SIZE=-1><%= "$last, $first" %></FONT></A></TD>
+ <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>" ROWSPAN=<%= $rowspan || 1 %>><%= $pcompany %></TD>
+
+ <%
if ( defined dbdef->table('cust_main')->column('ship_last') ) {
my($ship_last,$ship_first,$ship_company)=(
$cust_main->ship_last || $cust_main->getfield('last'),
my $pship_company = $ship_company
? qq!<A HREF="$view"><FONT SIZE=-1>$ship_company</FONT></A>!
: '<FONT SIZE=-1> </FONT>';
- print <<END;
- <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$ship_last, $ship_first</FONT></A></TD>
- <TD ROWSPAN=$rowspan>$pship_company</A></TD>
-END
- }
+ %>
+
+ <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>" ROWSPAN=<%= $rowspan || 1 %>><A HREF="<%= $view %>"><FONT SIZE=-1><%= "$ship_last, $ship_first" %></FONT></A></TD>
+ <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>" ROWSPAN=<%= $rowspan || 1 %>><%= $pship_company %></A></TD>
+
+ <% }
+
+ foreach my $addl_col ( @addl_cols ) { %>
- foreach my $addl_col ( @addl_cols ) {
- print "<TD ROWSPAN=$rowspan ALIGN=right><FONT SIZE=-1>";
- if ( $addl_col eq 'tickets' ) {
+ <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>" ROWSPAN=<%= $rowspan || 1 %> ALIGN=right><FONT SIZE=-1>
+
+ <% if ( $addl_col eq 'tickets' ) {
if ( @custom_priorities ) {
print &itable('', 0);
foreach my $priority ( @custom_priorities, '' ) {
#my(@cust_svc) = qsearch( 'cust_svc', { 'pkgnum' => $_->pkgnum } );
my $rowspan = scalar(@cust_svc) || 1;
- print $n1, qq!<TD ROWSPAN=$rowspan><A HREF="$pkgview"><FONT SIZE=-1>$pkg - $comment</FONT></A></TD>!;
+ print $n1, qq!<TD CLASS="grid" BGCOLOR="$bgcolor" ROWSPAN=$rowspan><A HREF="$pkgview"><FONT SIZE=-1>$pkg - $comment</FONT></A></TD>!;
+
my($n2)='';
foreach my $cust_svc ( @cust_svc ) {
my($label, $value, $svcdb) = $cust_svc->label;
my($svcnum) = $cust_svc->svcnum;
my($sview) = $p.'view';
- print $n2,qq!<TD><A HREF="$sview/$svcdb.cgi?$svcnum"><FONT SIZE=-1>$label</FONT></A></TD>!,
- qq!<TD><A HREF="$sview/$svcdb.cgi?$svcnum"><FONT SIZE=-1>$value</FONT></A></TD>!;
+ print $n2,qq!<TD CLASS="grid" BGCOLOR="$bgcolor" ><A HREF="$sview/$svcdb.cgi?$svcnum"><FONT SIZE=-1>$label</FONT></A></TD>!,
+ qq!<TD CLASS="grid" BGCOLOR="$bgcolor" ><A HREF="$sview/$svcdb.cgi?$svcnum"><FONT SIZE=-1>$value</FONT></A></TD>!;
$n2="</TR><TR>";
}
+
+ unless ( @cust_svc ) {
+ print qq!<TD CLASS="grid" BGCOLOR="$bgcolor" COLSPAN=2> </TD>!;
+ }
+
#print qq!</TR><TR>\n!;
$n1="</TR><TR>";
}
+
+ unless ( @{$all_pkgs{$custnum}} ) {
+ print qq!<TD CLASS="grid" BGCOLOR="$bgcolor" COLSPAN=3> </TD>!;
+ }
+
print "</TR>";
}
+
+ %>
- print "</TABLE>$pager</BODY></HTML>";
+ </TABLE><%= $pager %>
-}
+ <%= include('/elements/footer.html') %>
+
+<% }
#undef $cache; #does this help?