コード例 #1
0
ファイル: TagSubscriber.php プロジェクト: startupz/platform-1
 /**
  * @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);
 }
コード例 #2
0
ファイル: TagTransformer.php プロジェクト: Maksold/platform
 /**
  * {@inheritdoc}
  */
 public function transform($value)
 {
     // transform to JSON if we have array of entities
     // needed to correct rendering form if validation not passed
     if (is_array($value)) {
         $result = array();
         if ($this->entity) {
             $result = $this->manager->getPreparedArray($this->entity, new ArrayCollection($value), $this->organization);
         }
         $value = json_encode($result);
     }
     return $value;
 }
コード例 #3
0
ファイル: TagSubscriber.php プロジェクト: xamin123/platform
 /**
  * Loads tagging and transform it to view data
  *
  * @param FormEvent $event
  */
 public function preSet(FormEvent $event)
 {
     $entity = $event->getForm()->getParent()->getData();
     if (!$entity instanceof Taggable) {
         // do nothing if new entity or some error
         return;
     }
     $tags = $this->manager->getPreparedArray($entity);
     $ownTags = array_filter($tags, function ($item) {
         return isset($item['owner']) && $item['owner'];
     });
     // pass entity to transformer
     $this->transformer->setEntity($entity);
     $event->setData(array('autocomplete' => null, 'all' => json_encode($tags), 'owner' => json_encode($ownTags)));
 }
コード例 #4
0
ファイル: TagManagerTest.php プロジェクト: xamin123/platform
 public function testGetPreparedArrayFromArray()
 {
     $resource = new Taggable(array('id' => 1));
     $this->user->expects($this->exactly(2))->method('getId')->will($this->returnValue(self::TEST_USER_ID));
     $this->router->expects($this->once())->method('generate');
     $repo = $this->getMockBuilder('Oro\\Bundle\\TagBundle\\Entity\\Repository\\TagRepository')->disableOriginalConstructor()->getMock();
     $repo->expects($this->never())->method('getTagging');
     $this->manager->getPreparedArray($resource, $this->tagForPreparing());
 }
コード例 #5
0
ファイル: TagExtension.php プロジェクト: antrampa/platform
 /**
  * Return array of tags
  *
  * @param  Taggable $entity
  * @return array
  */
 public function get(Taggable $entity)
 {
     return $this->manager->getPreparedArray($entity);
 }
コード例 #6
0
ファイル: TagExtension.php プロジェクト: Maksold/platform
 /**
  * Return array of tags
  *
  * @param object $entity
  *
  * @return array
  */
 public function getList($entity)
 {
     return $this->tagManager->getPreparedArray($entity);
 }