X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Ftr-select-agent.html;h=9f2f76a6c0adc3b5ec4c1cdd068037f1adb4b487;hb=f4f7bb4086cdaf2699c6d028b76e99b3e9be1e90;hp=69cd95cb04fa474c06ddb33814f354f900987fa1;hpb=9509e5bfb7f9331303153cac24d7bfecbe2ea9f1;p=freeside.git diff --git a/httemplate/elements/tr-select-agent.html b/httemplate/elements/tr-select-agent.html index 69cd95cb0..9f2f76a6c 100644 --- a/httemplate/elements/tr-select-agent.html +++ b/httemplate/elements/tr-select-agent.html @@ -1,7 +1,34 @@ +<%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', + + ); + + % if ( scalar(@agents) == 1 ) { +%# YUCK. empty row so we don't throw g_row in edit.html off :/ + + % } else { @@ -23,15 +50,11 @@ my %opt = @_; my $agentnum = $opt{'curr_value'} || $opt{'value'}; -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; -} +my @agents = + $opt{'agents'} + ? @{ $opt{'agents'} } + : $FS::CurrentUser::CurrentUser->agents( + 'viewall_right' => $opt{'viewall_right'}, + );