Ejemplo n.º 1
0
 /**
  * @param string $entityName
  * @param array  $entities
  * @return EntityData
  */
 public function createEntityData($entityName, array $entities)
 {
     $entityMetadata = $this->metadataRegistry->getEntityMetadata($entityName);
     $data = new EntityData($entityMetadata, $entities);
     $this->eventDispatcher->dispatch(MergeEvents::CREATE_ENTITY_DATA, new EntityDataEvent($data));
     return $data;
 }
Ejemplo n.º 2
0
 public function testGetEntityMetadata()
 {
     $className = 'TestEntity';
     $expectedResult = $this->getMockBuilder('Oro\\Bundle\\EntityMergeBundle\\Metadata\\EntityMetadata')->disableOriginalConstructor()->getMock();
     $this->metadataBuilder->expects($this->once())->method('createEntityMetadataByClass')->with($className)->will($this->returnValue($expectedResult));
     $this->assertEquals($expectedResult, $this->metadataRegistry->getEntityMetadata($className));
     $this->assertEquals($expectedResult, $this->metadataRegistry->getEntityMetadata($className));
 }
Ejemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 public function setOptions(ActionConfiguration $options)
 {
     $this->setDefaultOptions($options);
     if (isset($options['entity_name'])) {
         $metadata = $this->metadataRegistry->getEntityMetadata($options['entity_name']);
         $options['max_element_count'] = $metadata->getMaxEntitiesCount();
         $options['label'] = $this->translator->trans('oro.entity_merge.action.merge', ['{{ label }}' => $this->translator->trans($metadata->get('label'))]);
     }
     return parent::setOptions($options);
 }
Ejemplo n.º 4
0
 /**
  * Remove mass action if entity config mass action disabled
  *
  * @param BuildBefore $event
  */
 public function onBuildBefore(BuildBefore $event)
 {
     $config = $event->getConfig();
     $massActions = isset($config['mass_actions']) ? $config['mass_actions'] : array();
     if (empty($massActions['merge']['entity_name'])) {
         return;
     }
     $entityName = $massActions['merge']['entity_name'];
     $entityMergeEnable = $this->metadataRegistry->getEntityMetadata($entityName)->is('enable');
     if (!$entityMergeEnable) {
         $config->offsetUnsetByPath('[mass_actions][merge]');
     }
 }