RT# 83179 - set agent num to use default agentnum if configured, and fixed adding...
[freeside.git] / httemplate / elements / tr-select-agent.html
index fcfa9f3..986bbc0 100644 (file)
@@ -1,21 +1,62 @@
-% if ( scalar(@agents) == 1 ) { 
+<%doc>
 
-  <INPUT TYPE="hidden" NAME="<% $opt{'field'} || 'agentnum' %>" VALUE="<% $agents[0]->agentnum %>">
+Example:
 
-%# YUCK.  empty row so we don't throw g_row in edit.html off :/
-  <TR>
-  </TR>
+  include( '/elements/tr-select-agent.html',
+
+    #recommended to keep things "sticky" on errors
+    'curr_value'    => $curr_value,
+
+    ##
+    # optional
+    ##
+
+    'label'         => 'Agent for this thing',
+    'empty_label'   => 'Select agent', #override default 
+    'disable_empty' => 1,
+
+    #set to 'None' or something to override default of showing all agents
+    #for employees w/ 'View customers of all agents' right
+    viewall_right   => 'None',
+
+  );
+
+</%doc>
+
+% $required = '<FONT COLOR="red">*</FONT>' if $opt{'required'};
+
+% if ( scalar(@agents) == 1 || $opt{'fixed'} ) { 
+
+  <INPUT TYPE  = "hidden"
+         NAME  = "<% $opt{'field'} || 'agentnum' %>"
+         ID    = "<% $opt{'field'} || 'agentnum' %>"
+         VALUE = "<% $agents[0]->agentnum %>"
+  >
+
+%   if ( scalar(@agents) != 1 ) {
+      <TR>
+        <TH ALIGN="right"><% $required %> <% $opt{'label'} || emt('Agent') %></TD>
+        <TD BGCOLOR="#dddddd" <% $colspan %>>
+%         my $agent = qsearchs('agent', { 'agentnum' => $agentnum });
+          <% $agent ? $agent->agent : '(all)' |h %>
+        </TD>
+      </TR>
+
+%   } else { # YUCK.  empty row so we don't throw g_row in edit.html off :/
+      <TR>
+      </TR>
+%   }
+%
 % } else { 
 
   <TR>
-    <TD ALIGN="right"><% $opt{'label'} || 'Agent' %></TD>
-    <TD>
-      <% include( '/elements/select-agent.html',
+    <TH ALIGN="right"><% $required %> <% $opt{'label'} || emt('Agent') %></TD>
+    <TD <% $colspan %>>
+      <& /elements/select-agent.html,
                      'curr_value' => $agentnum,
                      'agents'     => \@agents,
                      %opt,
-                 )
-      %>
+      &>
     </TD>
   </TR>
 
 
 my %opt = @_;
 my $agentnum = $opt{'curr_value'} || $opt{'value'};
+my $required;
+
+my @agents =
+  $opt{'agents'}
+    ? @{ $opt{'agents'} }
+    : $FS::CurrentUser::CurrentUser->agents(
+        'viewall_right' => $opt{'viewall_right'},
+      );
 
-my @agents = $opt{'agents'}
-               ? @{ $opt{'agents'} }
-               : $FS::CurrentUser::CurrentUser->agents;
+my $colspan = $opt{'colspan'} ? 'COLSPAN="'.$opt{'colspan'}.'"' : '';
 
 </%init>