public function andWith(ResourcePermission $permission) { $permission = new ResourcePermission($this->canRead() && $permission->canRead(), $this->canCreate() && $permission->canCreate(), $this->canUpdate() && $permission->canUpdate(), $this->canDelete() && $permission->canDelete()); return $permission; }
protected function verifyPermissions(ResourcePermission $permission, $read, $create, $update, $delete) { $this->assertEquals($read, $permission->canRead()); $this->assertEquals($create, $permission->canCreate()); $this->assertEquals($update, $permission->canUpdate()); $this->assertEquals($delete, $permission->canDelete()); }
public function areDataGroupPermissionsAvailable($permissions) { $permitted = true; foreach ($permissions as $dataGroupName => $requestedResourcePermission) { $requestedResourcePermission = ResourcePermission::fromArray($requestedResourcePermission); $dataGroupPermissions = UserRoleManagerFactory::getUserRoleManager()->getDataGroupPermissions($dataGroupName); if ($permitted && $requestedResourcePermission->canRead()) { $permitted = $permitted && $dataGroupPermissions->canRead(); } if ($permitted && $requestedResourcePermission->canCreate()) { $permitted = $dataGroupPermissions->canCreate(); } if ($permitted && $requestedResourcePermission->canUpdate()) { $permitted = $dataGroupPermissions->canUpdate(); } if ($permitted && $requestedResourcePermission->canDelete()) { $permitted = $dataGroupPermissions->canDelete(); } if (!$permitted) { break; } } return $permitted; }