move header() to include(/elements/header.html) so it can be changed in one place...
[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 <%= table() %>
33 <TR>
34   <TH COLSPAN=<%= ( $cgi->param('showdisabled') || !dbdef->table('agent')->column('disabled') ) ? 2 : 3 %>>Agent</TH>
35   <TH>Type</TH>
36   <TH>Customers</TH>
37   <TH><FONT SIZE=-1>Customer<BR>packages</FONT></TH>
38   <TH>Reports</TH>
39   <TH>Registration codes</TH>
40   <TH>Prepaid cards</TH>
41   <% if ( $conf->config('ticket_system') ) { %>
42     <TH>Ticketing</TH>
43   <% } %>
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>
47 </TR>
48 <% 
49 #        <TH><FONT SIZE=-1>Agent #</FONT></TH>
50 #        <TH>Agent</TH>
51
52 foreach my $agent ( sort { 
53   #$a->getfield('agentnum') <=> $b->getfield('agentnum')
54   $a->getfield('agent') cmp $b->getfield('agent')
55 } qsearch('agent', \%search ) ) {
56
57   my $cust_main_link = $p. 'search/cust_main.cgi?agentnum_on=1&'.
58                        'agentnum='. $agent->agentnum;
59
60   my $cust_pkg_link = $p. 'search/cust_pkg.cgi?agentnum='. $agent->agentnum;
61
62 %>
63
64       <TR>
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>
70 <% } %>
71
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>
75
76         <TD>
77           <TABLE CELLSPACING=0 CELLPADDING=0>
78             <TR>
79               <TH ALIGN="right" WIDTH="40%">
80                 <%= my $num_prospect = $agent->num_prospect_cust_main %>&nbsp;
81               </TH>
82               <TD>
83                 <% if ( $num_prospect ) { %>
84                   <A HREF="<%= $cust_main_link %>&prospect=1"><% } %>prospects<% if ($num_prospect ) { %></A><% } %>
85               <TD>
86             </TR>
87             <TR>
88               <TH ALIGN="right" WIDTH="40%">
89                 <FONT COLOR="#00CC00">
90                   <%= my $num_active = $agent->num_active_cust_main %>&nbsp;
91                 </FONT>
92               </TH>
93               <TD>
94                 <% if ( $num_active ) { %>
95                   <A HREF="<%= $cust_main_link %>&active=1"><% } %>active<% if ( $num_active ) { %></A><% } %>
96               </TD>
97             </TR>
98             <TR>
99               <TH ALIGN="right" WIDTH="40%">
100                 <FONT COLOR="#FF9900">
101                   <%= my $num_susp = $agent->num_susp_cust_main %>&nbsp;
102                 </FONT>
103               </TH>
104               <TD>
105                 <% if ( $num_susp ) { %>
106                   <A HREF="<%= $cust_main_link %>&suspended=1"><% } %>suspended<% if ( $num_susp ) { %></A><% } %>
107               </TD>
108             </TR>
109             <TR>
110               <TH ALIGN="right" WIDTH="40%">
111                 <FONT COLOR="#FF0000">
112                   <%= my $num_cancel = $agent->num_cancel_cust_main %>&nbsp;
113                 </FONT>
114               </TH>
115               <TD>
116                 <% if ( $num_cancel ) { %>
117                   <A HREF="<%= $cust_main_link %>&showcancelledcustomers=1&cancelled=1"><% } %>cancelled<% if ( $num_cancel ) { %></A><% } %>
118               </TD>
119             </TR>
120           </TABLE>
121         </TD>
122
123         <TD>
124           <TABLE CELLSPACING=0 CELLPADDING=0>
125             <TR>
126               <TH ALIGN="right" WIDTH="40%">
127                 <FONT COLOR="#00CC00">
128                   <%= my $num_active_pkg = $agent->num_active_cust_pkg %>&nbsp;
129                 </FONT>
130               </TH>
131               <TD>
132                 <% if ( $num_active_pkg ) { %>
133                   <A HREF="<%= $cust_pkg_link %>&magic=active"><% } %>active<% if ( $num_active_pkg ) { %></A><% } %>
134               </TD>
135             </TR>
136             <TR>
137               <TH ALIGN="right" WIDTH="40%">
138                 <FONT COLOR="#FF9900">
139                   <%= my $num_susp_pkg = $agent->num_susp_cust_pkg %>&nbsp;
140                 </FONT>
141               </TH>
142               <TD>
143                 <% if ( $num_susp_pkg ) { %>
144                   <A HREF="<%= $cust_pkg_link %>&magic=suspended"><% } %>suspended<% if ( $num_susp_pkg ) { %></A><% } %>
145               </TD>
146             </TR>
147             <TR>
148               <TH ALIGN="right" WIDTH="40%">
149                 <FONT COLOR="#FF0000">
150                   <%= my $num_cancel_pkg = $agent->num_cancel_cust_pkg %>&nbsp;
151                 </FONT>
152               </TH>
153               <TD>
154                 <% if ( $num_cancel_pkg ) { %>
155                   <A HREF="<%= $cust_pkg_link %>&magic=cancelled"><% } %>cancelled<% if ( $num_cancel_pkg ) { %></A><% } %>
156               </TD>
157             </TR>
158           </TABLE>
159         </TD>
160
161         <TD>
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>-->
166
167         </TD>
168
169         <TD>
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>
174         </TD>
175
176         <TD>
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>
181         </TD>
182
183         <% if ( $conf->config('ticket_system') ) { %>
184
185           <TD>
186             <% if ( $agent->ticketing_queueid ) { %>
187               Queue: <%= $agent->ticketing_queueid %>: <%= $agent->ticketing_queue %><BR>
188             <% } %>
189           </TD>
190
191         <% } %>
192
193         <TD>
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 } )
198                ) {
199             %>
200               <TR>
201                 <TD> 
202                   <%= $override->cardtype || 'Default' %> to <%= $override->payment_gateway->gateway_module %> (<%= $override->payment_gateway->gateway_username %>)
203                   <%= $override->taxclass
204                         ? ' for '. $override->taxclass. ' only'
205                         : ''
206                   %>
207                   <FONT SIZE=-1><A HREF="<%=$p%>misc/delete-agent_payment_gateway.cgi?<%= 'XXXoverridenum' %>">(delete)</A></FONT>
208                 </TD>
209               </TR>
210             <% } %>
211             <TR>
212               <TD><FONT SIZE=-1><A HREF="<%=$p%>edit/agent_payment_gateway.html?agentnum=<%= $agent->agentnum %>">(add override)</A></FONT></TD>
213             </TR>
214           </TABLE>
215         </TD>
216
217         <TD><%= $agent->freq %></TD>
218         <TD><%= $agent->prog %></TD>
219
220       </TR>
221
222 <% } %>
223
224     </TABLE>
225   </BODY>
226 </HTML>