/**
  * @inheritDoc
  */
 public function shouldSkipProperty(PropertyMetadata $property, Context $context)
 {
     if ($property->reflection && $property->reflection->getDeclaringClass()->isSubclassOf('Gravity\\CmsBundle\\Entity\\FieldableEntity')) {
         return false;
     }
     return $this->otherStrategy->shouldSkipProperty($property, $context);
 }
Ejemplo n.º 2
0
 public function addExclusionStrategy(ExclusionStrategyInterface $strategy)
 {
     $this->assertMutable();
     if (null === $this->exclusionStrategy) {
         $this->exclusionStrategy = $strategy;
         return $this;
     }
     if ($this->exclusionStrategy instanceof DisjunctExclusionStrategy) {
         $this->exclusionStrategy->addStrategy($strategy);
         return $this;
     }
     $this->exclusionStrategy = new DisjunctExclusionStrategy(array($this->exclusionStrategy, $strategy));
     return $this;
 }
Ejemplo n.º 3
0
 /**
  * @param array|string $groups
  */
 public function setGroups($groups)
 {
     if (empty($groups)) {
         throw new \LogicException('The groups must not be empty.');
     }
     $this->attributes->set('groups', (array) $groups);
     $strat = $this->exclusionStrategy->findStrategy(function ($strategy) {
         return $strategy instanceof GroupsExclusionStrategy;
     });
     if ($strat instanceof GroupsExclusionStrategy) {
         $strat->setGroups((array) $groups);
     } else {
         $this->addExclusionStrategy(new GroupsExclusionStrategy((array) $groups));
     }
     return $this;
 }