%# No one can make you feel inferior without your consent.
%# -- Eleanor Roosevelt
<& /Edit/Elements/PopHeader, Title => loc('Pick'), $IsWork ? (BG => '#C0EBEB') : () &>
<& /Edit/Elements/PopFooter &>
<%INIT>
if ($User) {
my $Item = $RT::Nothing;
$Item = RT::Queue->new($session{'CurrentUser'});
$Item->Load($Queue) or Abort("Cannot load queue $Queue");
my $Groups = RT::Groups->new($session{'CurrentUser'});
$Groups->LimitToPersonalGroupsFor($CurrentUser);
my $Delegates;
while ( my $Group = $Groups->Next) {
$Delegates->{$Group->Name} = $Group;
}
my $Group = $Delegates->{$Item->Id};
if (!$Group) {
$Group = RT::Group->new($session{'CurrentUser'});
$Group->CreatePersonalGroup(
Name => $Item->Id,
PrincipalId => $CurrentUser,
);
$Delegates->{$Item->Id} = $Group;
}
$Group->SetDescription($User);
foreach my $User (@{$Group->UserMembersObj->ItemsArrayRef}) {
$Group->DeleteMember($User->PrincipalId);
}
$Group->AddMember($User);
$m->print("");
$m->abort;
}
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}, $_->{job_id})}
grep { !$RT::CompanySpecific or !$company or ($_->{company_id} eq $company) }
values %$J;
my $Jobs;
@$Jobs = sort keys %J;
my $Groups = RT::Groups->HRMSUserDefinedGroups( $session{'CurrentUser'} );
my $Users = $RT::Nothing;
if ($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 => ''
$Group => 0
$Job => 0
$CurrentUser => $session{'CurrentUser'}->UserObj->PrincipalId
%ARGS>