/** * Get allowed to display entities list. * * @param array $taggableEntities * @return array */ protected function getAllowedEntities(array $taggableEntities) { $allowedEntities = array(); foreach ($taggableEntities as $entityClass) { $entityClass = $entityClass['entityName']; $objectString = 'Entity:' . $entityClass; if ($this->securityProvider->isProtectedEntity($entityClass)) { if ($this->securityProvider->isGranted(self::ENTITY_PERMISSION, $objectString)) { $allowedEntities[] = $entityClass; } } else { $allowedEntities[] = $entityClass; } } return $allowedEntities; }
/** * Filter array of entities. Return array of allowed entities * * @param string $attribute Permission * @param string[] $entities The list of entity class names to be checked * @return string[] */ protected function filterAllowedEntities($attribute, $entities) { foreach (array_keys($entities) as $entityClass) { $objectString = 'Entity:' . $entityClass; if ($this->securityProvider->isProtectedEntity($entityClass) && !$this->securityProvider->isGranted($attribute, $objectString)) { unset($entities[$entityClass]); } } return $entities; }
public function testIsGranted() { $this->securityFacade->expects($this->once())->method('isGranted')->with('VIEW', 'someClass')->will($this->returnValue(true)); $this->provider->isGranted('VIEW', 'someClass'); }