Ejemplo n.º 1
0
 /**
  * @param WorkflowItem $workflowItem
  * @param Transition $transition
  * @return WorkflowTransitionRecord
  * @throws WorkflowException
  */
 protected function createTransitionRecord(WorkflowItem $workflowItem, Transition $transition)
 {
     $transitionName = $transition->getName();
     $stepFrom = $workflowItem->getCurrentStep();
     $stepName = $transition->getStepTo()->getName();
     $stepTo = $this->getDefinition()->getStepByName($stepName);
     if (!$stepTo) {
         throw new WorkflowException(sprintf('Workflow "%s" does not have step entity "%s"', $this->getName(), $stepName));
     }
     $transitionRecord = new WorkflowTransitionRecord();
     $transitionRecord->setTransitionName($transitionName)->setStepFrom($stepFrom)->setStepTo($stepTo);
     return $transitionRecord;
 }
 /**
  * Get transition form.
  *
  * @param WorkflowItem $workflowItem
  * @param Transition $transition
  * @return Form
  */
 protected function getTransitionForm(WorkflowItem $workflowItem, Transition $transition)
 {
     return $this->createForm($transition->getFormType(), $workflowItem->getData(), array_merge($transition->getFormOptions(), array('workflow_item' => $workflowItem, 'transition_name' => $transition->getName())));
 }
Ejemplo n.º 3
0
 public function testGetAllowedTransitions()
 {
     $firstTransition = new Transition();
     $firstTransition->setName('first_transition');
     $secondTransition = new Transition();
     $secondTransition->setName('second_transition');
     $step = new Step();
     $step->setName('test_step');
     $step->setAllowedTransitions(array($secondTransition->getName()));
     $workflow = $this->createWorkflow();
     $workflow->getStepManager()->setSteps(array($step));
     $workflow->getTransitionManager()->setTransitions(array($firstTransition, $secondTransition));
     $workflowItem = new WorkflowItem();
     $workflowItem->setCurrentStepName($step->getName());
     $actualTransitions = $workflow->getTransitionsByWorkflowItem($workflowItem);
     $this->assertEquals(array($secondTransition), $actualTransitions->getValues());
 }
Ejemplo n.º 4
0
 /**
  * @param WorkflowItem $workflowItem
  * @param Transition $transition
  * @return WorkflowTransitionRecord
  */
 protected function createTransitionRecord(WorkflowItem $workflowItem, Transition $transition)
 {
     $transitionName = $transition->getName();
     $stepFrom = $workflowItem->getCurrentStepName();
     $stepTo = $transition->getStepTo()->getName();
     $transitionRecord = new WorkflowTransitionRecord();
     $transitionRecord->setTransitionName($transitionName)->setStepFromName($stepFrom)->setStepToName($stepTo);
     return $transitionRecord;
 }