/** * @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; }
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)); }
/** * {@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); }
/** * 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]'); } }