/**
  * @param WorkflowDefinition $definition
  * @return array
  */
 protected function getDataAsArray(WorkflowDefinition $definition)
 {
     $entitiesData = array();
     foreach ($definition->getWorkflowDefinitionEntities() as $entity) {
         $entitiesData[] = array('class' => $entity->getClassName());
     }
     return array('name' => $definition->getName(), 'label' => $definition->getLabel(), 'enabled' => $definition->isEnabled(), 'start_step' => $definition->getStartStep(), 'configuration' => $definition->getConfiguration(), 'entities' => $entitiesData);
 }
 /**
  * @param WorkflowDefinition $definition
  * @return array
  */
 protected function getDataAsArray(WorkflowDefinition $definition)
 {
     $data = array('name' => $definition->getName(), 'label' => $definition->getLabel(), 'entity' => $definition->getRelatedEntity(), 'configuration' => $definition->getConfiguration());
     if ($definition->getStartStep()) {
         $data['start_step'] = $definition->getStartStep()->getName();
     }
     return $data;
 }
Example #3
0
 /**
  * Get Workflow by WorkflowDefinition
  *
  * @param WorkflowDefinition $definition
  * @return Workflow
  */
 protected function getAssembledWorkflow(WorkflowDefinition $definition)
 {
     $workflowName = $definition->getName();
     if (!isset($this->workflowByName[$workflowName])) {
         $workflow = $this->workflowAssembler->assemble($definition);
         $this->workflowByName[$workflowName] = $workflow;
     }
     return $this->refreshWorkflow($this->workflowByName[$workflowName]);
 }
 protected function generateEntities(ObjectManager $manager, WorkflowDefinition $definition)
 {
     // load entities
     /** @var WorkflowAwareEntity[] $entities */
     $entities = array();
     for ($i = 1; $i <= self::COUNT; $i++) {
         $entity = new WorkflowAwareEntity();
         $entity->setName($definition->getName() . '_entity_' . $i);
         $entities[] = $entity;
         $manager->persist($entity);
     }
     $manager->flush();
     // create workflow item manually (to make it faster)
     foreach ($entities as $entity) {
         $workflowItem = new WorkflowItem();
         $workflowItem->setDefinition($definition)->setWorkflowName($definition->getName())->setEntity($entity)->setEntityId($entity->getId())->setCurrentStep($definition->getSteps()->first());
         $manager->persist($workflowItem);
         $entity->setWorkflowItem($workflowItem)->setWorkflowStep($workflowItem->getCurrentStep());
     }
     $manager->flush();
 }
Example #5
0
 /**
  * @param WorkflowDefinition $workflowDefinition
  */
 public function resetWorkflowData(WorkflowDefinition $workflowDefinition)
 {
     $this->getWorkflowItemRepository()->resetWorkflowData($workflowDefinition->getRelatedEntity(), array($workflowDefinition->getName()));
 }
 /**
  * @param WorkflowDefinition $definition
  * @return $this
  */
 public function import(WorkflowDefinition $definition)
 {
     $this->setName($definition->getName())->setType($definition->getType())->setLabel($definition->getLabel())->setEnabled($definition->isEnabled())->setConfiguration($definition->getConfiguration())->setStartStep($definition->getStartStep())->setWorkflowDefinitionEntities($definition->getWorkflowDefinitionEntities());
     return $this;
 }
Example #7
0
 /**
  * @param WorkflowDefinition $definition
  * @return WorkflowDefinition
  */
 public function import(WorkflowDefinition $definition)
 {
     $this->setName($definition->getName())->setLabel($definition->getLabel())->setRelatedEntity($definition->getRelatedEntity())->setEntityAttributeName($definition->getEntityAttributeName())->setConfiguration($definition->getConfiguration())->setSteps($definition->getSteps())->setStartStep($definition->getStartStep())->setStepsDisplayOrdered($definition->isStepsDisplayOrdered())->setEntityAcls($definition->getEntityAcls())->setSystem($definition->isSystem());
     return $this;
 }
 /**
  * @param WorkflowDefinition $definition
  * @return array
  */
 protected function getDefinitionAsArray(WorkflowDefinition $definition)
 {
     return array('name' => $definition->getName(), 'label' => $definition->getLabel(), 'steps' => $definition->getSteps(), 'start_step' => $definition->getStartStep(), 'configuration' => $definition->getConfiguration());
 }