%# No man is an island, but some of us are long peninsulas.
<& /Edit/Elements/PopHeader, Title => loc('Pick'), $IsWork ? (BG => '#C0EBEB') : () &>

<input type="hidden" name="Queue" value="<% $Queue %>">
<input type="hidden" name="CurrentUser" value="<% $CurrentUser %>">
<input type="hidden" name="Id" value="<% $Id %>">

<table border="0" cellspacing="0" cellpadding="5" class="poptable" align="center">
  <tr> 
      <td height="18"> 
      <table border="0" cellspacing="2" cellpadding="0" align="center">
% if ($RT::OIN104) {
        <tr> 
          <td> 
            <select name="Group" style="width:250px" onchange="this.form.submit()">
              <option value=''><&|/l&>Filter by Group</&></option>
% while (my $g = $Groups->Next) {
%   next if $g->Disabled;
%   my $selected = 'SELECTED' if $Group eq $g->Id;
                <option <% $selected %> value="<% $g->Id %>"><% $g->DisplayName %></option>
% }
            </select>
          </td>
        </tr>
        <tr>
          <td>
            <select name="Job" style="width:250px" onchange="this.form.submit()">
              <option value=''><&|/l&>Filter by Position</&></option>
% foreach my $j (@$Jobs) {
%   my $selected = 'SELECTED' if $Job eq $J{$j};
                <option <% $selected %> value="<% $J{$j} %>"><% $j %></option>
% }
            </select>
          </td>
        </tr>
% }
        <tr>
          <td> 
<& /Edit/Elements/PickUser,
    Users => $Users,
    Job   => $Job,
    Check => $Check,
&>
          </td>
        </tr>
      </table>
      </td>
    </tr>
  </table>

<& /Edit/Elements/PopFooter &>
<%INIT>
my $U = $session{'CurrentUser'}->UserObj;
my $J = $U->table($U->normalize($U->table('employee'), 'job'));
my $company = $U->Attribute('Company');
my %J = map { (
	    "$_->{job_cname} (".$U->CompanyName($_->{company_id}).")",
	    $_->{job_id}
	) }
	grep { !$RT::CompanySpecific or !$company or ($_->{company_id} eq $company) }
	grep { $_->{company_id} }
	values %$J;
my $Jobs = [ sort keys %J ];

my $Groups = RT::Groups->HRMSUserDefinedGroups( $session{'CurrentUser'} );

my $Users = $RT::Nothing;
if (!$RT::OIN104) {
    $Users = RT::Users->new($session{'CurrentUser'});
    $Users->LimitToPrivileged;
}
elsif ($Group or $Job) {
    $Users = RT::Users->new($session{'CurrentUser'});
    $Users->Limit( FIELD => 'ExternalAuthId', OPERATOR => '!=', VALUE =>'0');
    $Users->MemberOfGroup($Group) if $Group;
}
</%INIT>
<%ARGS>
$User		=> 0
$IsWork		=> 0
$Queue		=> ''
$Id             => 0
$Group		=> 0
$Job		=> 0
$CurrentUser	=> $session{'CurrentUser'}->UserObj->PrincipalId
$Check          => undef
</%ARGS>
