19declare(strict_types=1);
39 $this->tree = $this->domain->repositoryTree();
47 return $this->domain->user()->getId();
55 return $this->
access->checkAccessOfUser($current_user,
"write",
"",
$ref_id);
62 $current_user = $this->getCurrentUserId($current_user);
63 return $this->
access->checkAccessOfUser($current_user,
"write",
"",
$ref_id);
70 $current_user = $this->getCurrentUserId($current_user);
71 return $this->
access->checkAccessOfUser($current_user,
"write",
"",
$ref_id);
76 array $participant_ids
78 return $this->
access->filterUserIdsByRbacOrPositionOfCurrentUser(
90 $current_user = $this->getCurrentUserId($current_user);
91 return $this->
access->checkAccessOfUser($current_user,
"manage_all_reservations",
"",
$ref_id);
98 $current_user = $this->getCurrentUserId($current_user);
99 return $this->
access->checkAccessOfUser($current_user,
"manage_own_reservations",
"",
$ref_id) ||
100 $this->
access->checkAccessOfUser($current_user,
"manage_all_reservations",
"",
$ref_id);
106 int $current_user = 0
108 $current_user = $this->getCurrentUserId($current_user);
109 if ($target_user === $current_user) {
110 return $this->
access->checkAccessOfUser($current_user,
"manage_own_reservations",
"",
$ref_id) ||
111 $this->
access->checkAccessOfUser($current_user,
"manage_all_reservations",
"",
$ref_id);
113 return $this->
access->checkAccessOfUser($current_user,
"manage_all_reservations",
"",
$ref_id);
118 int $current_user = 0
120 $current_user = $this->getCurrentUserId($current_user);
121 return $this->hasPermissionOnAnyReference(
"manage_own_reservations", $current_user, $book_obj_id);
126 int $current_user = 0
128 $current_user = $this->getCurrentUserId($current_user);
129 return $this->hasPermissionOnAnyReference(
"manage_all_reservations", $current_user, $book_obj_id);
139 if ($access->checkAccessOfUser($uid, $perm,
"",
$ref_id)) {
149 if (($par_ref_id = $tree->checkForParentType(
$ref_id,
"grp")) > 0) {
151 "ref_id" => $par_ref_id,
155 if (($par_ref_id = $tree->checkForParentType(
$ref_id,
"crs")) > 0) {
157 "ref_id" => $par_ref_id,
166 if (($parent = $this->getParentGroupCourse(
$ref_id)) !==
null) {
167 return ($this->
access->checkAccess(
"manage_members",
"", (
int) $parent[
"ref_id"])) ;
175 throw new \ilPermissionException(
"Booking object pool id does not match pool id.");
181 $sm = $this->domain->schedules($pool_id);
182 if (!$sm->hasScheduleId($schedule_id)) {
183 throw new \ilPermissionException(
"Schedule id does not match pool id.");
validateBookingObjId(int $book_obj_id, int $pool_id)
canRetrieveNotificationsForAllReservationsByObjId(int $book_obj_id, int $current_user=0)
__construct(InternalDomainService $domain, \ilAccessHandler $access)
getCurrentUserId(int $user_id)
canManageObjects(int $ref_id, int $current_user=0)
canRetrieveNotificationsForOwnReservationsByObjId(int $book_obj_id, int $current_user=0)
validateScheduleId(int $schedule_id, int $pool_id)
canManageParticipants(int $ref_id, int $current_user=0)
InternalDomainService $domain
filterManageableParticipants(int $ref_id, array $participant_ids)
hasPermissionOnAnyReference(string $perm, int $uid, int $obj_id)
canManageReservationForUser(int $ref_id, int $target_user, int $current_user=0)
canManageOwnReservations(int $ref_id, int $current_user=0)
canManageMembersOfParent(int $ref_id)
canManageAllReservations(int $ref_id, int $current_user=0)
getParentGroupCourse(int $ref_id)
canManageSettings(int $ref_id, int $current_user=0)
Author: Alexander Killing killing@leifos.de
static lookupPoolId(int $object_id)
static _getAllReferences(int $id)
get all reference ids for object ID
return['delivery_method'=> 'php',]
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Interface ilAccessHandler This interface combines all available interfaces which can be called via gl...