示例#1
0
 /**
  * {@inheritdoc}
  */
 public function process(ContextInterface $context)
 {
     /** @var ConfigContext $context */
     $filters = $context->getFilters();
     if (empty($filters)) {
         // nothing to normalize
         return;
     }
     $fields = ConfigUtil::getArrayValue($filters, ConfigUtil::FIELDS);
     if (ConfigUtil::isExcludeAll($filters)) {
         $fields = ConfigUtil::removeExclusions($fields);
     } else {
         $entityClass = $context->getClassName();
         if ($this->doctrineHelper->isManageableEntityClass($entityClass)) {
             $fields = ConfigUtil::removeExclusions($this->completeFilters($fields, $entityClass, $context->getResult()));
         }
     }
     $context->setFilters([ConfigUtil::EXCLUSION_POLICY => ConfigUtil::EXCLUSION_POLICY_ALL, ConfigUtil::FIELDS => $fields]);
 }