blob: 2eef5bb918f52b9f29311cdcb62fd2617e7c151e (
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
<!-- mason kludge -->
<%
my %search;
if ( $cgi->param('showdisabled')
|| !dbdef->table('agent')->column('disabled') ) {
%search = ();
} else {
%search = ( 'disabled' => '' );
}
#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>
<% if ( dbdef->table('agent')->column('disabled') ) { %>
<%= $cgi->param('showdisabled')
? do { $cgi->param('showdisabled', 0);
'( <a href="'. $cgi->self_url. '">hide disabled agents</a> )'; }
: do { $cgi->param('showdisabled', 1);
'( <a href="'. $cgi->self_url. '">show disabled agents</a> )'; }
%>
<% } %>
<%= table() %>
<TR>
<TH COLSPAN=<%= ( $cgi->param('showdisabled') || !dbdef->table('agent')->column('disabled') ) ? 2 : 3 %>>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', \%search ) ) {
$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;
my $cust_main_link = $p. 'search/cust_main.cgi?agentnum_on=1&'.
'agentnum='. $agent->agentnum;
%>
<TR>
<TD><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>">
<%= $agent->agentnum %></A></TD>
<% if ( dbdef->table('agent')->column('disabled')
&& !$cgi->param('showdisabled') ) { %>
<TD><%= $agent->disabled ? 'DISABLED' : '' %></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>
<A HREF="<%= $cust_main_link %>&showcancelledcustomers=0">active</A>
<BR><FONT COLOR="#FF0000"><B><%= $num_cancelled %></B></FONT>
<A HREF="<%= $cust_main_link %>&showcancelledcustomers=1&cancelled=1">cancelled</A>
</TD>
<TD><%= $agent->freq %></TD>
<TD><%= $agent->prog %></TD>
</TR>
<% } %>
</TABLE>
</BODY>
</HTML>
|