ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
class.ilOrgUnitUserAssignmentQueries.php
Go to the documentation of this file.
1 <?php
18 declare(strict_types=1);
19 
26 {
28 
29  public static function getInstance(): self
30  {
31  if (!isset(self::$instance)) {
32  global $DIC;
33  self::$instance = new self($DIC["ilDB"]);
34  }
35 
36  return self::$instance;
37  }
38 
42  public function getPositionsOfUserId(int $user_id): array
43  {
44  return $this->getPositionsByUser($user_id);
45  }
46 
51  public function getAssignmentOrFail(int $user_id, int $position_id, int $orgu_id): ilOrgUnitUserAssignment
52  {
53  $assignment = $this->find($user_id, $position_id, $orgu_id);
54  if (!$assignment) {
55  throw new ilException('UserAssignment not found');
56  }
57  return $assignment;
58  }
59 
63  public function getAssignmentsOfUserId(int $user_id): array
64  {
65  return $this->getByUsers([$user_id]);
66  }
67 
71  public function getAssignmentsOfUserIds(array $user_ids): array
72  {
73  return $this->getByUsers($user_ids);
74  }
75 
79  public function getAssignmentsOfUserIdAndPosition(int $user_id, int $position_id): array
80  {
81  return $this->getByUserAndPosition($user_id, $position_id);
82  }
83 
87  public function getUserIdsOfOrgUnit(int $orgu_id): array
88  {
89  return $this->getUsersByOrgUnits([$orgu_id]);
90  }
91 
95  public function getUserIdsOfOrgUnits(array $orgu_ids): array
96  {
97  return $this->getUsersByOrgUnits($orgu_ids);
98  }
99 
103  public function getUserIdsOfOrgUnitsOfUsersPosition(int $position_id, int $user_id, bool $recursive = false): array
104  {
105  return $this->getUsersByUserAndPosition($user_id, $position_id, $recursive);
106  }
107 
111  public function getUserIdsOfOrgUnitsInPosition(array $orgu_ids, int $position_id): array
112  {
113  return $this->getUsersByOrgUnitsAndPosition($orgu_ids, $position_id);
114  }
115 
119  public function getUserIdsOfUsersOrgUnitsInPosition(int $user_id, int $users_position_id, int $position_id, bool $recursive = false): array
120  {
121  return $this->getFilteredUsersByUserAndPosition($user_id, $position_id, $users_position_id, $recursive);
122  }
123 
127  public function getOrgUnitIdsofUser(int $user_id): array
128  {
129  return $this->getOrgUnitsByUser($user_id);
130  }
131 
135  public function getOrgUnitIdsOfUsersPosition(int $position_id, int $user_id, bool $recursive = false): array
136  {
137  return $this->getOrgUnitsByUserAndPosition($user_id, $position_id, $recursive);
138  }
139 
143  public function getUserIdsOfPosition(int $position_id): array
144  {
145  return $this->getUsersByPosition($position_id);
146  }
147 
151  public function getUserAssignmentsOfPosition(int $position_id): array
152  {
153  return $this->getByPosition($position_id);
154  }
155 
159  public function deleteAllAssignmentsOfUser(int $user_id): void
160  {
161  $this->deleteByUser($user_id);
162  }
163 }
getUsersByPosition(int $position_id)
Get all users with a certain position.
getPositionsByUser(int $user_id)
Get all positions a user is assigned to.
static ilOrgUnitUserAssignmentQueries $instance
getFilteredUsersByUserAndPosition(int $user_id, int $position_id, int $position_filter_id, bool $recursive=false)
Get all users with position $position_filter_id from those org-units, where the user has position $po...
getUsersByOrgUnits(array $orgu_ids)
Get all users for a given set of org-units.
getByUserAndPosition(int $user_id, int $position_id)
Get assignments for a user in a dedicated position.
getAssignmentsOfUserIdAndPosition(int $user_id, int $position_id)
getOrgUnitsByUser(int $user_id)
Get all org-units a user is assigned to.
global $DIC
Definition: feed.php:28
deleteByUser(int $user_id)
Delete all assignments for a user_id Returns false if no assignments were found.
getUsersByUserAndPosition(int $user_id, int $position_id, bool $recursive=false)
Get all users from org-units where the user has a certain position i.e.
getOrgUnitIdsOfUsersPosition(int $position_id, int $user_id, bool $recursive=false)
getAssignmentOrFail(int $user_id, int $position_id, int $orgu_id)
find(int $user_id, int $position_id, int $orgu_id)
Find assignment for user, position and org-unit Does not create new assigment, returns null if no ass...
getUserIdsOfOrgUnitsInPosition(array $orgu_ids, int $position_id)
getUserIdsOfOrgUnitsOfUsersPosition(int $position_id, int $user_id, bool $recursive=false)
getByPosition(int $position_id)
Get all assignments for a position.
getOrgUnitsByUserAndPosition(int $user_id, int $position_id, bool $recursive=false)
Get all org-units where a user has a dedicated position.
getUsersByOrgUnitsAndPosition(array $orgu_ids, int $position_id)
Get all users in a specific position for a given set of org-units.
getUserIdsOfUsersOrgUnitsInPosition(int $user_id, int $users_position_id, int $position_id, bool $recursive=false)
getByUsers(array $user_ids)
Get assignments for one or more users.