X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Felements%2Ftr-select-agent.html;h=04600fa8d9461290eebe1daa567c9644e15f1276;hp=37b1c1e88658ca101d67fc8fd96f760cd05fb9e7;hb=3f2a7b01b59902faed5767d81e2959e131bdbdfd;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0 diff --git a/httemplate/elements/tr-select-agent.html b/httemplate/elements/tr-select-agent.html index 37b1c1e88..04600fa8d 100644 --- a/httemplate/elements/tr-select-agent.html +++ b/httemplate/elements/tr-select-agent.html @@ -1,34 +1,76 @@ -% -% my( $agentnum, %opt ) = @_; -% -% my @agents; -% if ( $opt{'agents'} ) { -% #@agents = @{ $opt{'agents'} }; -% #here is the agent virtualization -% my $agentnums_href = $FS::CurrentUser::CurrentUser->agentnums_href; -% @agents = grep $agentnums_href->{$_->agentnum}, @{ $opt{'agents'} }; -% delete $opt{'agents'}; -% } else { -% @agents = $FS::CurrentUser::CurrentUser->agents; -% } -% -% -% if ( scalar(@agents) == 1 ) { +<%doc> +Example: - -% } else { + 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', + + ); + +% if ( scalar(@agents) == 1 || $opt{'fixed'} ) { + + + +% if ( scalar(@agents) != 1 ) { + + <% $opt{'label'} || emt('Agent') %> + > +% my $agent = qsearchs('agent', { 'agentnum' => $agentnum }); + <% $agent ? $agent->agent : '(all)' |h %> + + + +% } else { # 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'} || emt('Agent') %> + > + <& /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'}.'"' : ''; + +