X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Felements%2Ftr-select-agent.html;h=04600fa8d9461290eebe1daa567c9644e15f1276;hb=081638aa4a483577a9c5bc7ac9ea518370cf2381;hp=44df3fc7d35ea9448dea98eceb5fbc4e0758de8d;hpb=c0fd57a78daf5ed54cb5f0944b227350f12f0704;p=freeside.git
diff --git a/httemplate/elements/tr-select-agent.html b/httemplate/elements/tr-select-agent.html
index 44df3fc7d..04600fa8d 100644
--- a/httemplate/elements/tr-select-agent.html
+++ b/httemplate/elements/tr-select-agent.html
@@ -1,21 +1,59 @@
-% if ( scalar(@agents) == 1 ) {
+<%doc>
-
+Example:
-%# YUCK. empty row so we don't throw g_row in edit.html off :/
-
-
+ 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 || $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',
+ | <% $opt{'label'} || emt('Agent') %>
+ | >
+ <& /elements/select-agent.html,
'curr_value' => $agentnum,
'agents' => \@agents,
%opt,
- )
- %>
+ &>
|
@@ -26,15 +64,13 @@
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'},
+ );
+
+my $colspan = $opt{'colspan'} ? 'COLSPAN="'.$opt{'colspan'}.'"' : '';
%init>