Beispiel #1
0
 /**
  * @param string $entityClass
  *
  * @return array
  */
 public function getSupportedGridsInfo($entityClass)
 {
     $entityClass = $this->entityClassNameHelper->resolveEntityClass($entityClass);
     $results = [];
     if (!$this->configManager->hasConfig($entityClass)) {
         return $results;
     }
     $shareScopes = $this->configManager->getProvider('security')->getConfig($entityClass)->get('share_scopes');
     if (!$shareScopes) {
         return $results;
     }
     $classNames = $this->shareScopeProvider->getClassNamesBySharingScopes($shareScopes);
     foreach ($classNames as $className) {
         $results[] = ['isGranted' => $this->securityFacade->isGranted('VIEW', 'entity:' . $className), 'label' => $this->getClassLabel($className), 'className' => $className, 'first' => false, 'gridName' => $this->getGridName($className)];
     }
     usort($results, function ($itemA) {
         return $itemA['isGranted'] ? -1 : 1;
     });
     !empty($results[0]) && ($results[0]['first'] = true);
     return $results;
 }