/**
  * {@inheritdoc}
  */
 public function supports($data)
 {
     if ($data instanceof FormInterface) {
         $data = $data->getData();
         return $this->supports($data);
     }
     $class = false;
     if (is_object($data) || is_string($data)) {
         $class = ClassUtils::getRealClass($data);
     }
     return $class && $this->resolver->isEntity($class);
 }
 /**
  * @param BuildBefore $event
  * @param string      $entityName
  *
  * @return bool
  */
 protected function isApplicable(BuildBefore $event, $entityName)
 {
     if (empty($entityName)) {
         return false;
     }
     try {
         $isEntity = $this->entityClassResolver->isEntity($entityName);
     } catch (\Exception $e) {
         $isEntity = false;
     }
     $existingConfig = $event->getConfig()->offsetGetByPath(sprintf(self::ACTION_CONFIGURATION_KEY, MassUpdateActionHandler::ACTION_NAME), false);
     return empty($existingConfig) && $isEntity && $this->actionHandler->isMassActionEnabled($entityName);
 }
Example #3
0
 /**
  * {@inheritdoc}
  */
 public function supports($type, $id)
 {
     if ($type === ObjectIdentityFactory::ROOT_IDENTITY_TYPE && $id === $this->getExtensionKey()) {
         return true;
     }
     if ($id === $this->getExtensionKey()) {
         $type = $this->entityClassResolver->getEntityClass(ClassUtils::getRealClass($type));
     } else {
         $type = ClassUtils::getRealClass($type);
     }
     return $this->entityClassResolver->isEntity($type);
 }
Example #4
0
 /**
  * {@inheritdoc}
  */
 public function supports($type, $id)
 {
     if ($type === ObjectIdentityFactory::ROOT_IDENTITY_TYPE && $id === $this->getExtensionKey()) {
         return true;
     }
     $delim = strpos($type, '@');
     if ($delim !== false) {
         $type = ltrim(substr($type, $delim + 1), ' ');
     }
     if ($id === $this->getExtensionKey()) {
         $type = $this->entityClassResolver->getEntityClass(ClassUtils::getRealClass($type));
     } else {
         $type = ClassUtils::getRealClass($type);
     }
     return $this->entityClassResolver->isEntity($type);
 }
Example #5
0
 /**
  * Get ACL annotation object for current controller action which was taken from request object
  *
  * @param Request $request
  * @param bool    $convertClassName
  * @return null|Acl
  */
 public function getRequestAcl(Request $request, $convertClassName = false)
 {
     $controller = $request->attributes->get('_controller');
     if (strpos($controller, '::') !== false) {
         $controllerData = explode('::', $controller);
         $acl = $this->getClassMethodAnnotation($controllerData[0], $controllerData[1]);
         if ($convertClassName && $acl) {
             $entityClass = $acl->getClass();
             if (!empty($entityClass) && $this->entityClassResolver->isEntity($entityClass)) {
                 $acl->setClass($this->entityClassResolver->getEntityClass($entityClass));
             }
         }
         return $acl;
     }
     return null;
 }
 public function testIsEntityForNotManageableEntity()
 {
     $className = 'Test\\Entity';
     $this->doctrine->expects($this->once())->method('getManagerForClass')->with($className)->will($this->returnValue(null));
     $this->assertFalse($this->resolver->isEntity($className));
 }