X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Felements%2Ftr-select-agent.html;h=515a11d48c27e9f188ab930d8ba064852b34f3b5;hb=3682c553fa1ba99465273250a10c8b9993d3ae81;hp=2227262b6cc389a0d53382a55ed3e8579be28da7;hpb=386ec52836abbe32ce2fbf575e851a75f6e112f8;p=freeside.git diff --git a/httemplate/elements/tr-select-agent.html b/httemplate/elements/tr-select-agent.html index 2227262b6..515a11d48 100644 --- a/httemplate/elements/tr-select-agent.html +++ b/httemplate/elements/tr-select-agent.html @@ -1,29 +1,62 @@ -<% - my( $agentnum, %opt ) = @_; +<%doc> - my @agents; - if ( $opt{'agents'} ) { - @agents = @{ $opt{'agents'} }; - } else { - @agents = qsearch( 'agent', { disabled=>'' } ); - } +Example: -%> + include( '/elements/tr-select-agent.html', -<% if ( scalar(@agents) == 1 ) { %> + #recommended to keep things "sticky" on errors + 'curr_value' => $curr_value, - + ## + # optional + ## -<% } else { %> + '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', + + ); + + +% if ( scalar(@agents) == 1 ) { + + + +%# YUCK. empty row so we don't throw g_row in edit.html off :/ + + +% } else { - <%= $opt{'label'} || 'Agent: ' %> - - <%= include( '/elements/select-agent.html', $agentnum, - 'agents' => \@agents, + <% $opt{'label'} || 'Agent' %> + > + <% include( '/elements/select-agent.html', + 'curr_value' => $agentnum, + 'agents' => \@agents, + %opt, ) %> -<% } %> +% } + +<%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'}, + ); + +my $colspan = $opt{'colspan'} ? 'COLSPAN="'.$opt{'colspan'}.'"' : ''; + +