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; }