1 <% include("/elements/header.html","$action Agent", menubar(
2 'View all agents' => $p. 'browse/agent.cgi',
5 <% include('/elements/error.html') %>
8 ACTION = "<%popurl(1)%>process/agent.cgi"
9 onSubmit = "return check_agent_custnum_search(this)"
12 <SCRIPT TYPE="text/javascript">
13 function check_agent_custnum_search(what) {
14 while ( agent_custnum_search_active ) {
15 // javascript needs ambien
21 <INPUT TYPE="hidden" NAME="agentnum" VALUE="<% $agent->agentnum %>">
23 <FONT CLASS="fsinnerbox-title">
24 Agent #<% $agent->agentnum ? $agent->agentnum : "(NEW)" %>
27 <TABLE CLASS="fsinnerbox">
30 <TH ALIGN="right">Agent</TH>
31 <TD><INPUT TYPE="text" NAME="agent" SIZE=32 VALUE="<% $agent->agent %>"></TD>
35 <TH ALIGN="right">Agent type</TH>
37 <SELECT NAME="typenum" SIZE=1>
38 % foreach my $agent_type (qsearch('agent_type',{})) {
40 <OPTION VALUE="<% $agent_type->typenum %>"<% ( $agent->typenum && ( $agent->typenum == $agent_type->typenum ) ) ? ' SELECTED' : '' %>>
41 <% $agent_type->getfield('typenum') %>: <% $agent_type->getfield('atype') %>
49 <TH ALIGN="right">Master customer</TH>
51 <% include('/elements/search-cust_main.html',
52 'field_name' => 'agent_custnum',
53 'curr_value' => $agent->agent_custnum,
60 % if ( $conf->exists('selfservice-agent_login') ) {
63 <TH ALIGN="right">Username</TH>
64 <TD><INPUT TYPE="text" NAME="username" SIZE=16 VALUE="<% $agent->username %>"></TD>
68 <TH ALIGN="right">Password</TH>
69 <TD><INPUT TYPE="password" NAME="_password" SIZE=16 VALUE="<% $agent->_password %>"></TD>
74 <INPUT TYPE="hidden" NAME="username" VALUE="<% $agent->username |h %>">
75 <INPUT TYPE="hidden" NAME="_password" VALUE="<% $agent->_password |h %>">
80 <TD ALIGN="right">Disable</TD>
81 <TD><INPUT TYPE="checkbox" NAME="disabled" VALUE="Y"<% $agent->disabled eq 'Y' ? ' CHECKED' : '' %>></TD>
84 % if ( $conf->exists('agent-invoice_template') ) {
86 <% include('/elements/tr-select-invoice_template.html',
87 'label' => 'Invoice template',
88 'field' => 'invoice_template',
89 'curr_value' => $agent->invoice_template,
95 <INPUT TYPE="hidden" NAME="invoice_template" VALUE="<% $agent->invoice_template %>">
99 % if ( $conf->config('ticket_system') ) {
100 % my $default_queueid = $conf->config('ticket_system-default_queueid');
101 % my $default_queue = FS::TicketSystem->queue($default_queueid);
102 % $default_queue = "(default) $default_queueid: $default_queue"
103 % if $default_queueid;
104 % my %queues = FS::TicketSystem->queues();
105 % my @queueids = sort { $a <=> $b } keys %queues;
109 <TD ALIGN="right">Ticketing queue</TD>
111 <SELECT NAME="ticketing_queueid">
112 <OPTION VALUE=""><% $default_queue %>
113 % foreach my $queueid ( @queueids ) {
115 <OPTION VALUE="<% $queueid %>" <% $agent->ticketing_queueid == $queueid ? ' SELECTED' : '' %>><% $queueid %>: <% $queues{$queueid} %>
126 <FONT CLASS="fsinnerbox-title"><% mt('Access Groups') |h %></FONT>
127 <TABLE CLASS="fsinnerbox">
130 <TD><% include('/elements/checkboxes-table.html',
131 'source_obj' => $agent,
132 'link_table' => 'access_groupagent',
133 'target_table' => 'access_group',
134 'name_col' => 'groupname',
135 'target_link' => $p. 'edit/access_group.html?',
144 <FONT CLASS="fsinnerbox-title"><% mt('Commissions') |h %></FONT>
145 <TABLE CLASS="fsinnerbox">
147 % #surprising amount of false laziness w/ edit/process/agent.cgi
148 % my @pkg_class = qsearch('pkg_class', { 'disabled'=>'' });
149 % foreach my $pkg_class ( '', @pkg_class ) {
150 % my %agent_pkg_class = ( 'agentnum' => $agent->agentnum,
151 % 'classnum' => $pkg_class ? $pkg_class->classnum : ''
153 % my $agent_pkg_class =
154 % qsearchs( 'agent_pkg_class', \%agent_pkg_class )
155 % || new FS::agent_pkg_class \%agent_pkg_class;
156 % my $param = 'classnum'. $agent_pkg_class{classnum};
159 <TD><INPUT TYPE = "text"
160 NAME = "<% $param %>"
161 VALUE = "<% $cgi->param($param) || $agent_pkg_class->commission_percent |h %>"
166 <TD><% $pkg_class ? $pkg_class->classname : mt('(no package class)') |h %>
176 <INPUT TYPE="submit" VALUE="<% $agent->agentnum ? "Apply changes" : "Add agent" %>">
180 <% include('/elements/footer.html') %>
185 unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
188 if ( $cgi->param('error') ) {
189 $agent = new FS::agent ( {
190 map { $_, scalar($cgi->param($_)) } fields('agent')
192 } elsif ( $cgi->keywords ) {
193 my($query) = $cgi->keywords;
195 $agent = qsearchs( 'agent', { 'agentnum' => $1 } );
197 $agent = new FS::agent {};
199 my $action = $agent->agentnum ? 'Edit' : 'Add';
201 my $conf = new FS::Conf;