Ejemplo n.º 1
0
 /**
  * @dataProvider isTaggableDataProvider
  *
  * @param object $object
  * @param bool   $result
  * @param bool   $needSetConfig
  * @param bool   $hasConfig
  * @param bool   $isEnabled
  */
 public function testIsTaggable($object, $result, $needSetConfig = false, $hasConfig = false, $isEnabled = false)
 {
     if ($needSetConfig) {
         $this->setConfigProvider($object, $hasConfig, $isEnabled);
     }
     $this->assertEquals($result, $this->helper->isTaggable($object));
 }
Ejemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function getVirtualFields($className)
 {
     if ($this->taggableHelper->isTaggable($className)) {
         return [self::TAG_FIELD];
     }
     return [];
 }
Ejemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function process($entity)
 {
     if (!$this->taggableHelper->isTaggable($entity)) {
         throw new \LogicException('Target entity should be taggable.');
     }
     return parent::process($entity);
 }
Ejemplo n.º 4
0
 /**
  * @param mixed  $context
  * @param string $path
  *
  * @return object
  */
 protected function getTaggable($context, $path)
 {
     $object = $this->getObject($context, $path);
     if (!$this->taggableHelper->isTaggable($object)) {
         throw new LogicException(sprintf('Object in path "%s" in "copy_tagging" action should be taggable.', $path));
     }
     return $object;
 }
Ejemplo n.º 5
0
 /**
  * @param FormEvent $event
  */
 public function preSet(FormEvent $event)
 {
     $entity = $event->getForm()->getParent()->getData();
     if (!$this->taggableHelper->isTaggable($entity)) {
         return;
     }
     $this->tagManager->loadTagging($entity);
     $tags = $this->tagManager->getPreparedArray($entity, null, $this->organization);
     $event->setData($tags);
 }
Ejemplo n.º 6
0
 /**
  * @param LifecycleEventArgs $args
  */
 public function preRemove(LifecycleEventArgs $args)
 {
     $entity = $args->getEntity();
     if ($this->taggableHelper->isTaggable($entity)) {
         if (null === $this->tagManager && $this->container) {
             $this->tagManager = $this->container->get('oro_tag.tag.manager');
         }
         $this->tagManager->deleteTagging($entity, []);
     }
 }
Ejemplo n.º 7
0
 /**
  * Add tag field as last field in first data block
  *
  * @param BeforeViewRenderEvent $event
  */
 public function addTagField(BeforeViewRenderEvent $event)
 {
     $entity = $event->getEntity();
     if ($entity && $this->taggableHelper->isTaggable($entity)) {
         $environment = $event->getTwigEnvironment();
         $data = $event->getData();
         $tagField = $environment->render('OroTagBundle::tagField.html.twig', ['entity' => $entity]);
         if (!empty($data['dataBlocks'])) {
             if (isset($data['dataBlocks'][0]['subblocks'])) {
                 array_push($data['dataBlocks'][0]['subblocks'][0]['data'], $tagField);
             }
         }
         $event->setData($data);
     }
 }
 /**
  * Return true if given class name is taggable
  *
  * @param $className
  *
  * @return bool
  */
 protected function isTaggable($className)
 {
     return $this->taggableHelper->isTaggable($className);
 }
Ejemplo n.º 9
0
 /**
  * {@inheritdoc}
  */
 public function isApplicable(DatagridConfiguration $config)
 {
     $className = $this->getEntityClassName($config);
     return !$this->isReportOrSegmentGrid($config) && $className && $this->taggableHelper->isTaggable($className) && null !== $config->offsetGetByPath(self::PROPERTY_ID_PATH) && null !== $this->securityFacade->getToken() && $this->securityFacade->isGranted('oro_tag_view');
 }
Ejemplo n.º 10
0
 /**
  * {@inheritdoc}
  */
 public function supports($entity, FieldMetadata $metadata)
 {
     return $this->taggableHelper->isTaggable($entity) && $metadata->getSourceClassName() === 'Oro\\Bundle\\TagBundle\\Entity\\Tag';
 }
Ejemplo n.º 11
0
 /**
  * @param EntityMetadata $entityMetadata
  *
  * @return bool
  */
 private function isTaggable(EntityMetadata $entityMetadata)
 {
     $className = $entityMetadata->getClassName();
     return $this->taggableHelper->isTaggable($className);
 }
Ejemplo n.º 12
0
 /**
  * @param  object $entity
  *
  * @return bool
  */
 public function isTaggable($entity)
 {
     return $this->taggableHelper->isTaggable($entity);
 }
Ejemplo n.º 13
0
 /**
  * @param DatagridConfiguration $configuration
  *
  * @return bool
  */
 protected function isGridRootEntityTaggable(DatagridConfiguration $configuration)
 {
     $className = $this->getEntity($configuration);
     return $className && $this->taggableHelper->isTaggable($className);
 }
 /**
  * {@inheritdoc}
  */
 public function getVirtualRelations($className)
 {
     return $this->taggableHelper->isTaggable($className) ? [self::RELATION_NAME => $this->getRelationDefinition($className)] : [];
 }