diff options
Diffstat (limited to 'httemplate/browse')
| -rwxr-xr-x | httemplate/browse/agent.cgi | 75 | 
1 files changed, 49 insertions, 26 deletions
| diff --git a/httemplate/browse/agent.cgi b/httemplate/browse/agent.cgi index cff111ca4..adeb78dbd 100755 --- a/httemplate/browse/agent.cgi +++ b/httemplate/browse/agent.cgi @@ -1,15 +1,30 @@  <!-- mason kludge --> +  <% -#Begin silliness -# -#use FS::UI::CGI; -#use FS::UI::agent; -# -#$ui = new FS::UI::agent; -#$ui->browse; -#exit; -#__END__ -#End silliness + +  #bad false laziness with search/cust_main.cgi (also needs fixing up for +  #old mysql) +  my $ncancelled = " +     0 < ( SELECT COUNT(*) FROM cust_pkg +                  WHERE cust_pkg.custnum = cust_main.custnum +                    AND ( cust_pkg.cancel IS NULL +                          OR cust_pkg.cancel = 0 +                        ) +              ) +       OR 0 = ( SELECT COUNT(*) FROM cust_pkg +                  WHERE cust_pkg.custnum = cust_main.custnum +              ) +  "; + +  my $ncancelled_sth = dbh->prepare("SELECT COUNT(*) FROM cust_main +                                       WHERE agentnum = ? +                                         AND $ncancelled             ") +    or die dbh->errstr; + +  my $total_sth = dbh->prepare("SELECT COUNT(*) FROM cust_main +                                  WHERE agentnum = ?           ") +    or die dbh->errstr; +  %>  <%= header('Agent Listing', menubar( @@ -25,6 +40,7 @@ full offerings (via their type).<BR><BR>  <TR>    <TH COLSPAN=2>Agent</TH>    <TH>Type</TH> +  <TH>Customers</TH>    <TH><FONT SIZE=-1>Freq.</FONT></TH>    <TH><FONT SIZE=-1>Prog.</FONT></TH>  </TR> @@ -36,28 +52,35 @@ foreach my $agent ( sort {    #$a->getfield('agentnum') <=> $b->getfield('agentnum')    $a->getfield('agent') cmp $b->getfield('agent')  } qsearch('agent',{}) ) { -  my($hashref)=$agent->hashref; -  my($typenum)=$hashref->{typenum}; -  my($agent_type)=qsearchs('agent_type',{'typenum'=>$typenum}); -  my($atype)=$agent_type->getfield('atype'); -  print <<END; + +  $ncancelled_sth->execute($agent->agentnum) or die $ncancelled_sth->errstr; +  my $num_ncancelled = $ncancelled_sth->fetchrow_arrayref->[0]; + +  $total_sth->execute($agent->agentnum) or die $total_sth->errstr; +  my $num_total = $total_sth->fetchrow_arrayref->[0]; + +  my $num_cancelled = $num_total - $num_ncancelled; + +%> +        <TR> -        <TD><A HREF="${p}edit/agent.cgi?$hashref->{agentnum}"> -          $hashref->{agentnum}</A></TD> -        <TD><A HREF="${p}edit/agent.cgi?$hashref->{agentnum}"> -          $hashref->{agent}</A></TD> -        <TD><A HREF="${p}edit/agent_type.cgi?$typenum">$atype</A></TD> +        <TD><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>"> +          <%= $agent->agentnum %></A></TD> +        <TD><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>"> +          <%= $agent->agent %></A></TD> +        <TD><A HREF="<%=$p%>edit/agent_type.cgi?<%= $agent->typenum %>"><%= $agent->agent_type->atype %></A></TD> +        <TD> +          <FONT COLOR="#00CC00"><B><%= $num_ncancelled %></B></FONT> +            active +          <BR><FONT COLOR="#FF0000"><B><%= $num_cancelled %></B></FONT> +            cancelled +        </TD>          <TD>$hashref->{freq}</TD>          <TD>$hashref->{prog}</TD>        </TR> -END -} +<% } %> -print <<END;      </TABLE>    </BODY>  </HTML> -END - -%> | 
