public function testGetEntityIdentifierNotManageableEntity() { $entity = $this->getMock('FooEntity'); $this->setExpectedException('Oro\\Bundle\\WorkflowBundle\\Exception\\NotManageableEntityException', sprintf('Entity class "%s" is not manageable', get_class($entity))); $this->registry->expects($this->once())->method('getManagerForClass')->with(get_class($entity))->will($this->returnValue(null)); $this->doctrineHelper->getEntityIdentifier($entity); }
/** * {@inheritdoc} */ public function normalize(Workflow $workflow, Attribute $attribute, $attributeValue) { if (null === $attributeValue) { return null; } $this->validateAttributeValue($workflow, $attribute, $attributeValue); return $this->doctrineHelper->getEntityIdentifier($attributeValue); }
/** * @param array $entitiesToBind * @return WorkflowBindEntity[] */ protected function createBindEntities(array $entitiesToBind) { $result = array(); foreach ($entitiesToBind as $entity) { if ($entity) { $bindEntity = new WorkflowBindEntity(); $bindEntity->setEntityClass($this->doctrineHelper->getEntityClass($entity)); $bindEntity->setEntityId($this->doctrineHelper->getEntityIdentifier($entity)); $result[] = $bindEntity; } } return $result; }
/** * Compare two values for equality * * @param mixed $left * @param mixed $right * @return boolean */ protected function doCompare($left, $right) { if (is_object($left) && is_object($right)) { $leftClass = $this->doctrineHelper->getEntityClass($left); $rightClass = $this->doctrineHelper->getEntityClass($right); if ($leftClass == $rightClass && $this->doctrineHelper->isManageableEntity($left) && $this->doctrineHelper->isManageableEntity($right)) { $leftIdentifier = $this->doctrineHelper->getEntityIdentifier($left); $rightIdentifier = $this->doctrineHelper->getEntityIdentifier($right); return $leftIdentifier == $rightIdentifier; } } return $left == $right; }
/** * @param array|\Traversable $values * @return array */ protected function convertToPlainArray($values) { $result = array(); foreach ($values as $key => $value) { if (is_object($value) && $this->doctrineHelper->isManageableEntity($value)) { $result[$key] = $this->doctrineHelper->getEntityIdentifier($value); } elseif (is_array($value) || $value instanceof \Traversable) { $result[$key] = $this->convertToPlainArray($value); } else { $result[$key] = $value; } } return $result; }
/** * @param object $entity * @param string|null $workflowName * @param string|null $workflowType * @return WorkflowItem[] */ public function getWorkflowItemsByEntity($entity, $workflowName = null, $workflowType = null) { $entityClass = $this->doctrineHelper->getEntityClass($entity); $entityIdentifier = $this->doctrineHelper->getEntityIdentifier($entity); /** @var WorkflowItemRepository $workflowItemsRepository */ $workflowItemsRepository = $this->registry->getRepository('OroWorkflowBundle:WorkflowItem'); return $workflowItemsRepository->findByEntityMetadata($entityClass, $entityIdentifier, $workflowName, $workflowType); }