summaryrefslogtreecommitdiff
path: root/httemplate/elements/tr-select-agent.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/elements/tr-select-agent.html')
-rw-r--r--httemplate/elements/tr-select-agent.html60
1 files changed, 60 insertions, 0 deletions
diff --git a/httemplate/elements/tr-select-agent.html b/httemplate/elements/tr-select-agent.html
new file mode 100644
index 0000000..9f2f76a
--- /dev/null
+++ b/httemplate/elements/tr-select-agent.html
@@ -0,0 +1,60 @@
+<%doc>
+
+Example:
+
+ 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>
+% if ( scalar(@agents) == 1 ) {
+
+ <INPUT TYPE="hidden" NAME="<% $opt{'field'} || 'agentnum' %>" VALUE="<% $agents[0]->agentnum %>">
+
+%# 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',
+ 'curr_value' => $agentnum,
+ 'agents' => \@agents,
+ %opt,
+ )
+ %>
+ </TD>
+ </TR>
+
+% }
+
+<%init>
+
+my %opt = @_;
+my $agentnum = $opt{'curr_value'} || $opt{'value'};
+
+my @agents =
+ $opt{'agents'}
+ ? @{ $opt{'agents'} }
+ : $FS::CurrentUser::CurrentUser->agents(
+ 'viewall_right' => $opt{'viewall_right'},
+ );
+
+</%init>