mirror of
https://github.com/verdigado/organization_folders.git
synced 2024-12-06 11:22:41 +01:00
Added inherit managers attribute to resources
This commit is contained in:
parent
f7b3b2f255
commit
fdb4b8fc76
8 changed files with 65 additions and 4 deletions
|
@ -67,6 +67,7 @@ class ResourceService {
|
|||
string $name,
|
||||
?int $parentResourceId = null,
|
||||
bool $active = true,
|
||||
bool $inheritManagers = true,
|
||||
|
||||
?int $membersAclPermission = null,
|
||||
?int $managersAclPermission = null,
|
||||
|
@ -82,6 +83,7 @@ class ResourceService {
|
|||
$resource->setOrganizationFolderId($organizationFolderId);
|
||||
$resource->setName($name);
|
||||
$resource->setActive($active);
|
||||
$resource->setInheritManagers($inheritManagers);
|
||||
$resource->setLastUpdatedTimestamp(time());
|
||||
|
||||
if(isset($parentResourceId)) {
|
||||
|
@ -131,6 +133,7 @@ class ResourceService {
|
|||
?string $name = null,
|
||||
?int $parentResource = null,
|
||||
?bool $active = null,
|
||||
?bool $inheritManagers = null,
|
||||
|
||||
?int $membersAclPermission = null,
|
||||
?int $managersAclPermission = null,
|
||||
|
@ -160,6 +163,10 @@ class ResourceService {
|
|||
$resource->setActive($active);
|
||||
}
|
||||
|
||||
if(isset($inheritManagers)) {
|
||||
$resource->setInheritManagers($inheritManagers);
|
||||
}
|
||||
|
||||
if($resource->getType() === "folder") {
|
||||
if(isset($membersAclPermission)) {
|
||||
$resource->setMembersAclPermission($membersAclPermission);
|
||||
|
@ -231,7 +238,8 @@ class ResourceService {
|
|||
} else if($resourceMember->getType() === MemberType::GROUP->value) {
|
||||
$mapping = $this->userMappingManager->mappingFromId("group", $resourceMember->getPrincipal());
|
||||
} else if($resourceMember->getType() === MemberType::ROLE->value) {
|
||||
[$organizationProviderId, $roleId] = explode(":", $resourceMember->getPrincipal(), 2);
|
||||
['organizationProviderId' => $organizationProviderId, 'roleId' => $roleId] = $resourceMember->getParsedPrincipal();
|
||||
|
||||
$organizationProvider = $this->organizationProviderManager->getOrganizationProvider($organizationProviderId);
|
||||
$role = $organizationProvider->getRole($roleId);
|
||||
$mapping = $this->userMappingManager->mappingFromId("group", $role->getMembersGroup());
|
||||
|
@ -296,6 +304,14 @@ class ResourceService {
|
|||
return $subResources;
|
||||
}
|
||||
|
||||
public function getParentResource(Resource $resource): ?Resource {
|
||||
if(!is_null($resource->getParentResource())) {
|
||||
return $this->find($resource->getParentResource());
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public function deleteById(int $id): Resource {
|
||||
try {
|
||||
$resource = $this->mapper->find($id);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue