this should finish adding the "inactive" status, i think?
[freeside.git] / httemplate / browse / agent.cgi
1 <%
2
3   my %search;
4   if ( $cgi->param('showdisabled')
5        || !dbdef->table('agent')->column('disabled') ) {
6     %search = ();
7   } else {
8     %search = ( 'disabled' => '' );
9   }
10
11   my $conf = new FS::Conf;
12
13 %>
14 <%= include("/elements/header.html",'Agent Listing', menubar(
15   'Main Menu'   => $p,
16   'Agent Types' => $p. 'browse/agent_type.cgi',
17 #  'Add new agent' => '../edit/agent.cgi'
18 )) %>
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>
22
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> )'; }
29   %>
30 <% } %>
31
32 <%= include('/elements/table-grid.html') %>
33
34 <% my $bgcolor1 = '#eeeeee';
35    my $bgcolor2 = '#ffffff';
36    my $bgcolor = '';
37 %>
38
39 <TR>
40   <TH CLASS="grid" BGCOLOR="#cccccc" COLSPAN=<%= ( $cgi->param('showdisabled') || !dbdef->table('agent')->column('disabled') ) ? 2 : 3 %>>Agent</TH>
41   <TH CLASS="grid" BGCOLOR="#cccccc">Type</TH>
42   <TH CLASS="grid" BGCOLOR="#cccccc">Customers</TH>
43   <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1>Customer<BR>packages</FONT></TH>
44   <TH CLASS="grid" BGCOLOR="#cccccc">Reports</TH>
45   <TH CLASS="grid" BGCOLOR="#cccccc">Registration codes</TH>
46   <TH CLASS="grid" BGCOLOR="#cccccc">Prepaid cards</TH>
47   <% if ( $conf->config('ticket_system') ) { %>
48     <TH CLASS="grid" BGCOLOR="#cccccc">Ticketing</TH>
49   <% } %>
50   <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1>Payment Gateway Overrides</FONT></TH>
51   <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1>Freq.</FONT></TH>
52   <TH CLASS="grid" BGCOLOR="#cccccc"><FONT SIZE=-1>Prog.</FONT></TH>
53 </TR>
54 <% 
55 #        <TH><FONT SIZE=-1>Agent #</FONT></TH>
56 #        <TH>Agent</TH>
57
58 foreach my $agent ( sort { 
59   #$a->getfield('agentnum') <=> $b->getfield('agentnum')
60   $a->getfield('agent') cmp $b->getfield('agent')
61 } qsearch('agent', \%search ) ) {
62
63   my $cust_main_link = $p. 'search/cust_main.cgi?agentnum_on=1&'.
64                        'agentnum='. $agent->agentnum;
65
66   my $cust_pkg_link = $p. 'search/cust_pkg.cgi?agentnum='. $agent->agentnum;
67   
68   if ( $bgcolor eq $bgcolor1 ) {
69     $bgcolor = $bgcolor2;
70   } else {
71     $bgcolor = $bgcolor1;
72   }
73
74 %>
75
76       <TR>
77         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>">
78           <%= $agent->agentnum %></A></TD>
79 <% if ( dbdef->table('agent')->column('disabled')
80         && !$cgi->param('showdisabled')           ) { %>
81         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><%= $agent->disabled ? 'DISABLED' : '' %></TD>
82 <% } %>
83
84         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%=$p%>edit/agent.cgi?<%= $agent->agentnum %>">
85           <%= $agent->agent %></A></TD>
86         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><A HREF="<%=$p%>edit/agent_type.cgi?<%= $agent->typenum %>"><%= $agent->agent_type->atype %></A></TD>
87
88         <TD CLASS="inv" BGCOLOR="<%= $bgcolor %>">
89           <TABLE CLASS="inv" CELLSPACING=0 CELLPADDING=0>
90
91             <TR>
92               <TH ALIGN="right" WIDTH="40%">
93                 <FONT COLOR="#7e0079">
94                   <%= my $num_prospect = $agent->num_prospect_cust_main %>&nbsp;
95                 </FONT>
96               </TH>
97
98               <TD>
99                 <% if ( $num_prospect ) { %>
100                   <A HREF="<%= $cust_main_link %>&prospect=1"><% } %>prospects<% if ($num_prospect ) { %></A><% } %>
101               <TD>
102             </TR>
103
104             <TR>
105               <TH ALIGN="right" WIDTH="40%">
106                 <FONT COLOR="#0000CC">
107                   <%= my $num_inactive = $agent->num_inactive_cust_main %>&nbsp;
108                 </FONT>
109               </TH>
110
111               <TD>
112                 <% if ( $num_inactive ) { %>
113                   <A HREF="<%= $cust_main_link %>&inactive=1"><% } %>inactive<% if ( $num_inactive ) { %></A><% } %>
114               </TD>
115             </TR>
116
117             <TR>
118               <TH ALIGN="right" WIDTH="40%">
119                 <FONT COLOR="#00CC00">
120                   <%= my $num_active = $agent->num_active_cust_main %>&nbsp;
121                 </FONT>
122               </TH>
123
124               <TD>
125                 <% if ( $num_active ) { %>
126                   <A HREF="<%= $cust_main_link %>&active=1"><% } %>active<% if ( $num_active ) { %></A><% } %>
127               </TD>
128             </TR>
129
130             <TR>
131               <TH ALIGN="right" WIDTH="40%">
132                 <FONT COLOR="#FF9900">
133                   <%= my $num_susp = $agent->num_susp_cust_main %>&nbsp;
134                 </FONT>
135               </TH>
136
137               <TD>
138                 <% if ( $num_susp ) { %>
139                   <A HREF="<%= $cust_main_link %>&suspended=1"><% } %>suspended<% if ( $num_susp ) { %></A><% } %>
140               </TD>
141             </TR>
142
143             <TR>
144               <TH ALIGN="right" WIDTH="40%">
145                 <FONT COLOR="#FF0000">
146                   <%= my $num_cancel = $agent->num_cancel_cust_main %>&nbsp;
147                 </FONT>
148               </TH>
149
150               <TD>
151                 <% if ( $num_cancel ) { %>
152                   <A HREF="<%= $cust_main_link %>&showcancelledcustomers=1&cancelled=1"><% } %>cancelled<% if ( $num_cancel ) { %></A><% } %>
153               </TD>
154             </TR>
155
156           </TABLE>
157         </TD>
158
159         <TD CLASS="inv" BGCOLOR="<%= $bgcolor %>" VALIGN="bottom">
160           <TABLE CLASS="inv" CELLSPACING=0 CELLPADDING=0>
161
162             <TR>
163               <TH ALIGN="right" WIDTH="40%">
164                 <FONT COLOR="#0000CC">
165                   <%= my $num_inactive_pkg = $agent->num_inactive_cust_pkg %>&nbsp;
166                 </FONT>
167               </TH>
168
169               <TD>
170                 <% if ( $num_inactive_pkg ) { %>
171                   <A HREF="<%= $cust_pkg_link %>&magic=inactive"><% } %>inactive<% if ( $num_inactive_pkg ) { %></A><% } %>
172               </TD>
173             </TR>
174
175             <TR>
176               <TH ALIGN="right" WIDTH="40%">
177                 <FONT COLOR="#00CC00">
178                   <%= my $num_active_pkg = $agent->num_active_cust_pkg %>&nbsp;
179                 </FONT>
180               </TH>
181
182               <TD>
183                 <% if ( $num_active_pkg ) { %>
184                   <A HREF="<%= $cust_pkg_link %>&magic=active"><% } %>active<% if ( $num_active_pkg ) { %></A><% } %>
185               </TD>
186             </TR>
187
188             <TR>
189               <TH ALIGN="right" WIDTH="40%">
190                 <FONT COLOR="#FF9900">
191                   <%= my $num_susp_pkg = $agent->num_susp_cust_pkg %>&nbsp;
192                 </FONT>
193
194               </TH>
195               <TD>
196                 <% if ( $num_susp_pkg ) { %>
197                   <A HREF="<%= $cust_pkg_link %>&magic=suspended"><% } %>suspended<% if ( $num_susp_pkg ) { %></A><% } %>
198               </TD>
199             </TR>
200             
201             <TR>
202               <TH ALIGN="right" WIDTH="40%">
203                 <FONT COLOR="#FF0000">
204                   <%= my $num_cancel_pkg = $agent->num_cancel_cust_pkg %>&nbsp;
205                 </FONT>
206               </TH>
207
208               <TD>
209                 <% if ( $num_cancel_pkg ) { %>
210                   <A HREF="<%= $cust_pkg_link %>&magic=cancelled"><% } %>cancelled<% if ( $num_cancel_pkg ) { %></A><% } %>
211               </TD>
212             </TR>
213
214           </TABLE>
215         </TD>
216
217         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
218           <A HREF="<%= $p %>search/report_cust_pay.html?agentnum=<%= $agent->agentnum %>">Payments</A>
219           <BR><A HREF="<%= $p %>search/report_cust_credit.html?agentnum=<%= $agent->agentnum %>">Credits</A>
220           <BR><A HREF="<%= $p %>search/report_receivables.cgi?agentnum=<%= $agent->agentnum %>">A/R Aging</A>
221           <!--<BR><A HREF="<%= $p %>search/money_time.cgi?agentnum=<%= $agent->agentnum %>">Sales/Credits/Receipts</A>-->
222
223         </TD>
224
225         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
226           <%= my $num_reg_code = $agent->num_reg_code %>
227           <% if ( $num_reg_code ) { %>
228             <A HREF="<%=$p%>search/reg_code.html?agentnum=<%= $agent->agentnum %>"><% } %>Unused<% if ( $num_reg_code ) { %></A><% } %>
229           <BR><A HREF="<%=$p%>edit/reg_code.cgi?agentnum=<%= $agent->agentnum %>">Generate codes</A>
230         </TD>
231
232         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
233           <%= my $num_prepay_credit = $agent->num_prepay_credit %>
234           <% if ( $num_prepay_credit ) { %>
235             <A HREF="<%=$p%>search/prepay_credit.html?agentnum=<%= $agent->agentnum %>"><% } %>Unused<% if ( $num_prepay_credit ) { %></A><% } %>
236           <BR><A HREF="<%=$p%>edit/prepay_credit.cgi?agentnum=<%= $agent->agentnum %>">Generate cards</A>
237         </TD>
238
239         <% if ( $conf->config('ticket_system') ) { %>
240
241           <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
242             <% if ( $agent->ticketing_queueid ) { %>
243               Queue: <%= $agent->ticketing_queueid %>: <%= $agent->ticketing_queue %><BR>
244             <% } %>
245           </TD>
246
247         <% } %>
248
249         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>">
250           <TABLE CELLSPACING=0 CELLPADDING=0>
251             <% foreach my $override (
252                  # sort { }  want taxclass-full stuff first?  and default cards (empty cardtype)
253                  qsearch('agent_payment_gateway', { 'agentnum' => $agent->agentnum } )
254                ) {
255             %>
256               <TR>
257                 <TD> 
258                   <%= $override->cardtype || 'Default' %> to <%= $override->payment_gateway->gateway_module %> (<%= $override->payment_gateway->gateway_username %>)
259                   <%= $override->taxclass
260                         ? ' for '. $override->taxclass. ' only'
261                         : ''
262                   %>
263                   <FONT SIZE=-1><A HREF="<%=$p%>misc/delete-agent_payment_gateway.cgi?<%= 'XXXoverridenum' %>">(delete)</A></FONT>
264                 </TD>
265               </TR>
266             <% } %>
267             <TR>
268               <TD><FONT SIZE=-1><A HREF="<%=$p%>edit/agent_payment_gateway.html?agentnum=<%= $agent->agentnum %>">(add override)</A></FONT></TD>
269             </TR>
270           </TABLE>
271         </TD>
272
273 <!--
274         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><%= $agent->freq %></TD>
275         <TD CLASS="grid" BGCOLOR="<%= $bgcolor %>"><%= $agent->prog %></TD>
276 -->
277
278       </TR>
279
280 <% } %>
281
282     </TABLE>
283   </BODY>
284 </HTML>