$sth->fetchrow_arrayref->[0];
}
-=item agents
+=item agents [ HASHREF | OPTION => VALUE ... ]
Returns the list of agents this user can view (via group membership), as
-FS::agent objects.
+FS::agent objects. Accepts the same options as the agentnums_sql method.
=cut
qsearch({
'table' => 'agent',
'hashref' => { disabled=>'' },
- 'extra_sql' => ' AND '. $self->agentnums_sql,
+ 'extra_sql' => ' AND '. $self->agentnums_sql(@_),
});
}
'label' => "<B>${r}Agent</B>",
'empty_label' => 'Select agent',
'disable_empty' => ( $cust_main->agentnum ? 1 : 0 ),
+ 'viewall_right' => 'None', #override default 'View customers of all agents'
)
%>
+<%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 %>">
my %opt = @_;
my $agentnum = $opt{'curr_value'} || $opt{'value'};
-my @agents = $opt{'agents'}
- ? @{ $opt{'agents'} }
- : $FS::CurrentUser::CurrentUser->agents;
+my @agents =
+ $opt{'agents'}
+ ? @{ $opt{'agents'} }
+ : $FS::CurrentUser::CurrentUser->agents(
+ 'viewall_right' => $opt{'viewall_right'},
+ );
</%init>
%# <INPUT TYPE="hidden" NAME="itembatch" VALUE="<% $itembatch %>">
- <% include('/elements/tr-select-agent.html') %>
+ <% include('/elements/tr-select-agent.html',
+ 'viewall_right' => 'None',
+ )
+ %>
<% include( '/elements/file-upload.html',
'field' => 'file',