Пример #1
0
 /**
  * Create Workflow process.
  *
  * @param Workflow $workflow The current workflow.
  *
  * @return void
  */
 private function createProcess(Workflow $workflow)
 {
     $process = deserialize($workflow->getConfigValue('process'), true);
     foreach ($process as $definition) {
         // pass not created transitions. useful to avoid errors when a transition got disabled
         if (!isset($this->transitions[$definition['transition']])) {
             continue;
         }
         if ($definition['step'] == 'start') {
             $workflow->setStartTransition($this->transitions[$definition['transition']]->getName());
         } else {
             $step = $this->steps[$definition['step']];
             $transition = $this->transitions[$definition['transition']];
             $step->allowTransition($transition->getName());
         }
     }
 }