32 if (!isset(self::$instance)) {
33 self::$instance =
new self();
36 return self::$instance;
42 'user_id' => $user_id,
43 'position_id' => $position_id,
44 'orgu_id' => $orgu_id,
46 if (!$user_assignment) {
48 $user_assignment->setPositionId($position_id);
49 $user_assignment->setUserId($user_id);
50 $user_assignment->setOrguId($orgu_id);
51 $user_assignment->create();
54 return $user_assignment;
65 $user_assignment_list_by_user = [];
66 foreach ($user_assignment_list as $user_assignment) {
67 $user_assignment_list_by_user[$user_assignment->getUserId()][] = $user_assignment;
70 return $user_assignment_list_by_user;
82 orgu_ua.orgu_id AS orgu_id, 83 orgu_ua.user_id AS empl, 84 orgu_ua2.user_id as sup 86 il_orgu_ua as orgu_ua, 87 il_orgu_ua as orgu_ua2 89 orgu_ua.orgu_id = orgu_ua2.orgu_id 90 and orgu_ua.user_id <> orgu_ua2.user_id 93 AND " . $DIC->database()->in(
'orgu_ua.user_id', $arr_empl_user_ids,
false,
'integer');
95 $st = $DIC->database()->query($sql);
97 $empl_id__sup_ids = [];
98 while (
$data = $DIC->database()->fetchAssoc($st)) {
99 $empl_id__sup_ids[
$data[
'empl']][] = $data[
'sup'];
101 $this->arr_empl_user_ids = $empl_id__sup_ids;
103 return $empl_id__sup_ids;
114 $positions[] = ilOrgUnitPosition::find($assignment->getPositionId());
126 'user_id' => $user_id,
127 'position_id' => $position_id,
128 'orgu_id' => $orgu_id,
131 throw new ilException(
'UserAssignement not found');
174 ->getArray(null,
'user_id');
184 'orgu_id' => $orgu_ids,
185 'position_id' => $position_id,
186 ])->getArray(null,
'user_id');
194 array $users_position_id,
196 bool $recursive =
false 200 'position_id' => $position_id,
201 ])->getArray(null,
'user_id');
210 bool $recursive =
false 213 'position_id' => $position_id,
214 'user_id' => $user_id,
215 ])->getArray(null,
'orgu_id');
221 $recursive_orgu_ids = [];
223 foreach ($orgu_ids as $orgu_id) {
224 $recursive_orgu_ids += $tree->getAllChildren($orgu_id);
227 return $recursive_orgu_ids;
236 'position_id' => $position_id,
237 ])->getArray(null,
'user_id');
246 'position_id' => $position_id,
253 $q =
"DELETE FROM il_orgu_ua WHERE user_id = " . $DIC->database()->quote($user_id,
"integer");
254 $DIC->database()->manipulate($q);
findAllUserAssingmentsByUserIds(array $arr_user_ids)
getAssignmentOrFail(int $user_id, int $position_id, int $orgu_id)
getPositionsOfUserId(int $user_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const CORE_POSITION_EMPLOYEE
getUserIdsOfOrgUnit(int $orgunit_ref_id)
getUserIdsOfPosition(int $position_id)
getUserAssignmentsOfPosition(int $position_id)
static where($where, $operator=null)
findOrCreateAssignment(int $user_id, int $position_id, int $orgu_id)
getUserIdsOfOrgUnits(array $orgunit_ref_id)
getUserIdsOfUsersOrgUnitsInPosition(int $user_id, array $users_position_id, int $position_id, bool $recursive=false)
deleteAllAssignmentsOfUser(int $user_id)
const CORE_POSITION_SUPERIOR
getUserIdsOfOrgUnitsInPosition(array $orgu_ids, int $position_id)
getOrgUnitIdsOfUsersPosition(int $position_id, int $user_id, bool $recursive=false)
getEmplSuperiorList(array $arr_empl_user_ids)
getAssignmentsOfUserId(int $user_id)
getUserIdsOfOrgUnitsOfUsersPosition(int $position_id, int $user_id, bool $recursive=false)