summaryrefslogtreecommitdiff
path: root/httemplate/browse/agent.cgi
blob: 79f6c3dcfca1ee1af0fa7fc334f2156486139e87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<!-- mason kludge -->

<%

  #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(
  'Main Menu'   => $p,
  'Agent Types' => $p. 'browse/agent_type.cgi',
#  'Add new agent' => '../edit/agent.cgi'
)) %>
Agents are resellers of your service. Agents may be limited to a subset of your
full offerings (via their type).<BR><BR>
<A HREF="<%= $p %>edit/agent.cgi"><I>Add a new agent</I></A><BR><BR>

<%= table() %>
<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>
<% 
#        <TH><FONT SIZE=-1>Agent #</FONT></TH>
#        <TH>Agent</TH>

foreach my $agent ( sort { 
  #$a->getfield('agentnum') <=> $b->getfield('agentnum')
  $a->getfield('agent') cmp $b->getfield('agent')
} qsearch('agent',{}) ) {

  $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?<%= $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><%= $agent->freq %></TD>
        <TD><%= $agent->prog %></TD>
      </TR>

<% } %>

    </TABLE>
  </BODY>
</HTML>