/** * Updates default values * * @param FormEvent $event */ public function setDefaultValues(FormEvent $event) { /** @var WorkflowData $workflowData */ $workflowData = $event->getData(); foreach ($this->defaultValues as $attributeName => $value) { $workflowData->set($attributeName, $this->contextAccessor->getValue($this->workflowItem, $value)); } }
public function testExecuteAction() { $options = ['html' => '$.html', 'attribute' => '$.attribute']; $fakeContext = ['fake', 'things', 'are', 'here']; $this->contextAccessor->expects($this->once())->method('getValue')->with($this->equalTo($fakeContext), $this->equalTo('$.html'))->will($this->returnValue($html = '<html></html>')); $this->contextAccessor->expects($this->once())->method('setValue')->with($this->equalTo($fakeContext), $this->equalTo('$.attribute'), $this->equalTo($stripped = 'stripped')); $this->helper->expects($this->once())->method('purify')->with($this->equalTo($html))->will($this->returnValue($purified = 'purified')); $this->helper->expects($this->once())->method('stripTags')->with($this->equalTo($purified))->will($this->returnValue($stripped)); $this->action->initialize($options); $this->action->execute($fakeContext); }
public function testGetValueNoSuchProperty() { $context = $this->createObject(array()); $value = new PropertyPath('test'); $propertyAccessor = $this->getMockBuilder('Symfony\\Component\\PropertyAccess\\PropertyAccessor')->disableOriginalConstructor()->setMethods(array('getValue'))->getMock(); $propertyAccessor->expects($this->once())->method('getValue')->with($context, $value)->will($this->throwException(new NoSuchPropertyException('No such property'))); $propertyAccessorReflection = new \ReflectionProperty('Oro\\Bundle\\WorkflowBundle\\Model\\ContextAccessor', 'propertyAccessor'); $propertyAccessorReflection->setAccessible(true); $propertyAccessorReflection->setValue($this->contextAccessor, $propertyAccessor); $this->assertNull($this->contextAccessor->getValue($context, $value)); }
/** * {@inheritDoc} */ public function isAllowed($context, Collection $errors = null) { if (null !== $this->channel) { /** @var Channel $dataChannel */ $dataChannel = $this->contextAccessor->getValue($context, $this->channel); $entities = $dataChannel->getEntities(); $allowed = count(array_intersect($this->entities, $entities)) === count($this->entities); } else { $allowed = $this->stateProvider->isEntitiesEnabledInSomeChannel($this->entities); } return $allowed; }
/** * Check ACL for resource. * * @param mixed $context * @return boolean */ protected function isConditionAllowed($context) { $attributes = $this->contextAccessor->getValue($context, $this->attributes); $objectOrClass = $this->contextAccessor->getValue($context, $this->objectOrClass); if (is_object($objectOrClass)) { $unitOfWork = $this->doctrineHelper->getEntityManager($objectOrClass)->getUnitOfWork(); if (!$unitOfWork->isInIdentityMap($objectOrClass) || $unitOfWork->isScheduledForInsert($objectOrClass)) { $objectOrClass = 'Entity:' . $this->doctrineHelper->getEntityClass($objectOrClass); } } return $this->securityFacade->isGranted($attributes, $objectOrClass); }
public function testExecuteAction() { $email = new Email(); $options = ['process_type' => 'demo', 'email' => '$.email', 'attribute' => '$.attribute']; $fakeContext = ['fake', 'things', 'are', 'here']; $mailboxes = [new Mailbox()]; $this->contextAccessor->expects($this->at(0))->method('getValue')->with($this->equalTo($fakeContext), $this->equalTo('demo'))->will($this->returnValue('demo')); $this->contextAccessor->expects($this->at(1))->method('getValue')->with($this->equalTo($fakeContext), $this->equalTo('$.email'))->will($this->returnValue($email)); $this->contextAccessor->expects($this->once())->method('setValue')->with($this->equalTo($fakeContext), $this->equalTo('$.attribute'), $this->equalTo($mailboxes)); $this->repository->expects($this->once())->method('findBySettingsClassAndEmail')->with($this->equalTo('DemoProcessSettings'), $this->equalTo($email))->will($this->returnValue($mailboxes)); $this->action->initialize($options); $this->action->execute($fakeContext); }
/** * @param array $options * @param mixed $context * * @dataProvider executeOptionsDataProvider */ public function testExecute(array $options, $context) { $matched = new \stdClass(); $this->automaticDiscovery->expects($this->once())->method('discoverSimilar')->willReturn($matched); $this->action->initialize($options); $this->action->execute($context); $this->assertSame($matched, $this->contextAccessor->getValue($context, new PropertyPath('attribute'))); }
/** * @param mixed $context * @param mixed $identifier * @return mixed */ protected function convertIdentifier($context, $identifier) { if (is_array($identifier)) { foreach ($identifier as $key => $value) { $identifier[$key] = $this->contextAccessor->getValue($context, $value); } } else { $identifier = $this->contextAccessor->getValue($context, $identifier); } return $identifier; }
public function testExecuteActionWithoutAttribute() { $options = ['email' => '$.email', 'target_entity' => '$.target_entity']; $fakeContext = ['fake', 'things', 'are', 'here']; $this->contextAccessor->expects($this->at(0))->method('getValue')->with($this->equalTo($fakeContext), $this->equalTo('$.email'))->will($this->returnValue($email = new Email())); $this->contextAccessor->expects($this->at(1))->method('getValue')->with($this->equalTo($fakeContext), $this->equalTo('$.target_entity'))->will($this->returnValue($target = new User())); $this->contextAccessor->expects($this->never())->method('setValue'); $this->activityListChainProvider->expects($this->any())->method('getActivityListEntitiesByActivityEntity')->with($this->equalTo($email))->will($this->returnValue($list = new ActivityList())); $this->entityManager->expects($this->once())->method('persist')->with($this->equalTo($list)); $this->emailActivityManager->expects($this->once())->method('addAssociation')->with($this->equalTo($email), $this->equalTo($target))->will($this->returnValue(true)); $this->action->initialize($options); $this->action->execute($fakeContext); }
/** * Returns TRUE is target is empty in context * * @param mixed $context * @return boolean */ protected function isConditionAllowed($context) { $value = $this->contextAccessor->getValue($context, $this->target); return '' === $value || null === $value; }
/** * {@inheritdoc} */ protected function isConditionAllowed($context) { $type = $this->contextAccessor->getValue($context, $this->type); return (bool) $this->getActiveIntegration($type); }
/** * Gets value of Workflow Item by path * * @param WorkflowItem $workflowItem * @param \Symfony\Component\PropertyAccess\PropertyPath $path * @return mixed */ public function getValueByPropertyPath(WorkflowItem $workflowItem, $path) { return $this->contextAccessor->getValue($workflowItem, $path); }
/** * Check if values equals. * * @param mixed $context * @return boolean */ protected function isConditionAllowed($context) { return $this->contextAccessor->hasValue($context, $this->target); }
/** * Check if values equals. * * @param mixed $context * @return boolean */ protected function isConditionAllowed($context) { return $this->doCompare($this->contextAccessor->getValue($context, $this->left), $this->contextAccessor->getValue($context, $this->right)); }