예제 #1
0
 /**
  * @param WorkflowDefinition $definition,
  * @param array $configuration
  * @return ArrayCollection
  * @throws AssemblerException If configuration is invalid
  */
 public function assemble(WorkflowDefinition $definition, array $configuration)
 {
     $entityAttributeName = $definition->getEntityAttributeName();
     if (!array_key_exists($entityAttributeName, $configuration)) {
         $configuration[$entityAttributeName] = array('label' => $entityAttributeName, 'type' => 'entity', 'options' => array('class' => $definition->getRelatedEntity()));
     }
     $attributes = new ArrayCollection();
     foreach ($configuration as $name => $options) {
         $attribute = $this->assembleAttribute($definition, $name, $options);
         $attributes->set($name, $attribute);
     }
     return $attributes;
 }
예제 #2
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;
 }