4 if ( $cgi->param('showdisabled')
5 || !dbdef->table('agent')->column('disabled') ) {
8 %search = ( 'disabled' => '' );
11 my $conf = new FS::Conf;
14 <%= include("/elements/header.html",'Agent Listing', menubar(
16 'Agent Types' => $p. 'browse/agent_type.cgi',
17 # 'Add new agent' => '../edit/agent.cgi'
19 Agents are resellers of your service. Agents may be limited to a subset of your
20 full offerings (via their type).<BR><BR>
21 <A HREF="<%= $p %>edit/agent.cgi"><I>Add a new agent</I></A><BR><BR>
23 <% if ( dbdef->table('agent')->column('disabled') ) { %>
24 <%= $cgi->param('showdisabled')
25 ? do { $cgi->param('showdisabled', 0);
26 '( <a href="'. $cgi->self_url. '">hide disabled agents</a> )'; }
27 : do { $cgi->param('showdisabled', 1);
28 '( <a href="'. $cgi->self_url. '">show disabled agents</a> )'; }
34 <TH COLSPAN=<%= ( $cgi->param('showdisabled') || !dbdef->table('agent')->column('disabled') ) ? 2 : 3 %>>Agent</TH>
37 <TH><FONT SIZE=-1>Customer<BR>packages</FONT></TH>
39 <TH>Registration codes</TH>
40 <TH>Prepaid cards</TH>
41 <% if ( $conf->config('ticket_system') ) { %>
44 <TH><FONT SIZE=-1>Payment Gateway Overrides</FONT></TH>
45 <TH><FONT SIZE=-1>Freq.</FONT></TH>
46 <TH><FONT SIZE=-1>Prog.</FONT></TH>
49 # <TH><FONT SIZE=-1>Agent #</FONT></TH>
52 foreach my $agent ( sort {
53 #$a->getfield('agentnum') <=> $b->getfield('agentnum')
54 $a->getfield('agent') cmp $b->getfield('agent')
55 } qsearch('agent', \%search ) ) {
57 my $cust_main_link = $p. 'search/cust_main.cgi?agentnum_on=1&'.
58 'agentnum='. $agent->agentnum;
60 my $cust_pkg_link = $p. 'search/cust_pkg.cgi?agentnum='. $agent->agentnum;
65 <TD><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>">
66 <%= $agent->agentnum %></A></TD>
67 <% if ( dbdef->table('agent')->column('disabled')
68 && !$cgi->param('showdisabled') ) { %>
69 <TD><%= $agent->disabled ? 'DISABLED' : '' %></TD>
72 <TD><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>">
73 <%= $agent->agent %></A></TD>
74 <TD><A HREF="<%=$p%>edit/agent_type.cgi?<%= $agent->typenum %>"><%= $agent->agent_type->atype %></A></TD>
77 <TABLE CELLSPACING=0 CELLPADDING=0>
79 <TH ALIGN="right" WIDTH="40%">
80 <%= my $num_prospect = $agent->num_prospect_cust_main %>
83 <% if ( $num_prospect ) { %>
84 <A HREF="<%= $cust_main_link %>&prospect=1"><% } %>prospects<% if ($num_prospect ) { %></A><% } %>
88 <TH ALIGN="right" WIDTH="40%">
89 <FONT COLOR="#00CC00">
90 <%= my $num_active = $agent->num_active_cust_main %>
94 <% if ( $num_active ) { %>
95 <A HREF="<%= $cust_main_link %>&active=1"><% } %>active<% if ( $num_active ) { %></A><% } %>
99 <TH ALIGN="right" WIDTH="40%">
100 <FONT COLOR="#FF9900">
101 <%= my $num_susp = $agent->num_susp_cust_main %>
105 <% if ( $num_susp ) { %>
106 <A HREF="<%= $cust_main_link %>&suspended=1"><% } %>suspended<% if ( $num_susp ) { %></A><% } %>
110 <TH ALIGN="right" WIDTH="40%">
111 <FONT COLOR="#FF0000">
112 <%= my $num_cancel = $agent->num_cancel_cust_main %>
116 <% if ( $num_cancel ) { %>
117 <A HREF="<%= $cust_main_link %>&showcancelledcustomers=1&cancelled=1"><% } %>cancelled<% if ( $num_cancel ) { %></A><% } %>
124 <TABLE CELLSPACING=0 CELLPADDING=0>
126 <TH ALIGN="right" WIDTH="40%">
127 <FONT COLOR="#00CC00">
128 <%= my $num_active_pkg = $agent->num_active_cust_pkg %>
132 <% if ( $num_active_pkg ) { %>
133 <A HREF="<%= $cust_pkg_link %>&magic=active"><% } %>active<% if ( $num_active_pkg ) { %></A><% } %>
137 <TH ALIGN="right" WIDTH="40%">
138 <FONT COLOR="#FF9900">
139 <%= my $num_susp_pkg = $agent->num_susp_cust_pkg %>
143 <% if ( $num_susp_pkg ) { %>
144 <A HREF="<%= $cust_pkg_link %>&magic=suspended"><% } %>suspended<% if ( $num_susp_pkg ) { %></A><% } %>
148 <TH ALIGN="right" WIDTH="40%">
149 <FONT COLOR="#FF0000">
150 <%= my $num_cancel_pkg = $agent->num_cancel_cust_pkg %>
154 <% if ( $num_cancel_pkg ) { %>
155 <A HREF="<%= $cust_pkg_link %>&magic=cancelled"><% } %>cancelled<% if ( $num_cancel_pkg ) { %></A><% } %>
162 <A HREF="<%= $p %>search/report_cust_pay.html?agentnum=<%= $agent->agentnum %>">Payments</A>
163 <BR><A HREF="<%= $p %>search/report_cust_credit.html?agentnum=<%= $agent->agentnum %>">Credits</A>
164 <BR><A HREF="<%= $p %>search/report_receivables.cgi?agentnum=<%= $agent->agentnum %>">A/R Aging</A>
165 <!--<BR><A HREF="<%= $p %>search/money_time.cgi?agentnum=<%= $agent->agentnum %>">Sales/Credits/Receipts</A>-->
170 <%= my $num_reg_code = $agent->num_reg_code %>
171 <% if ( $num_reg_code ) { %>
172 <A HREF="<%=$p%>search/reg_code.html?agentnum=<%= $agent->agentnum %>"><% } %>Unused<% if ( $num_reg_code ) { %></A><% } %>
173 <BR><A HREF="<%=$p%>edit/reg_code.cgi?agentnum=<%= $agent->agentnum %>">Generate codes</A>
177 <%= my $num_prepay_credit = $agent->num_prepay_credit %>
178 <% if ( $num_prepay_credit ) { %>
179 <A HREF="<%=$p%>search/prepay_credit.html?agentnum=<%= $agent->agentnum %>"><% } %>Unused<% if ( $num_prepay_credit ) { %></A><% } %>
180 <BR><A HREF="<%=$p%>edit/prepay_credit.cgi?agentnum=<%= $agent->agentnum %>">Generate cards</A>
183 <% if ( $conf->config('ticket_system') ) { %>
186 <% if ( $agent->ticketing_queueid ) { %>
187 Queue: <%= $agent->ticketing_queueid %>: <%= $agent->ticketing_queue %><BR>
194 <TABLE CELLSPACING=0 CELLPADDING=0>
195 <% foreach my $override (
196 # sort { } want taxclass-full stuff first? and default cards (empty cardtype)
197 qsearch('agent_payment_gateway', { 'agentnum' => $agent->agentnum } )
202 <%= $override->cardtype || 'Default' %> to <%= $override->payment_gateway->gateway_module %> (<%= $override->payment_gateway->gateway_username %>)
203 <%= $override->taxclass
204 ? ' for '. $override->taxclass. ' only'
207 <FONT SIZE=-1><A HREF="<%=$p%>misc/delete-agent_payment_gateway.cgi?<%= 'XXXoverridenum' %>">(delete)</A></FONT>
212 <TD><FONT SIZE=-1><A HREF="<%=$p%>edit/agent_payment_gateway.html?agentnum=<%= $agent->agentnum %>">(add override)</A></FONT></TD>
217 <TD><%= $agent->freq %></TD>
218 <TD><%= $agent->prog %></TD>