/** * @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)); }
/** * {@inheritdoc} */ public function getVirtualFields($className) { if ($this->taggableHelper->isTaggable($className)) { return [self::TAG_FIELD]; } return []; }
/** * {@inheritdoc} */ public function process($entity) { if (!$this->taggableHelper->isTaggable($entity)) { throw new \LogicException('Target entity should be taggable.'); } return parent::process($entity); }
/** * @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; }
/** * @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); }
/** * @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, []); } }
/** * 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); }
/** * {@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'); }
/** * {@inheritdoc} */ public function supports($entity, FieldMetadata $metadata) { return $this->taggableHelper->isTaggable($entity) && $metadata->getSourceClassName() === 'Oro\\Bundle\\TagBundle\\Entity\\Tag'; }
/** * @param EntityMetadata $entityMetadata * * @return bool */ private function isTaggable(EntityMetadata $entityMetadata) { $className = $entityMetadata->getClassName(); return $this->taggableHelper->isTaggable($className); }
/** * @param object $entity * * @return bool */ public function isTaggable($entity) { return $this->taggableHelper->isTaggable($entity); }
/** * @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)] : []; }