/** * Duplicate the transitions * * @param Array $values array of old and new values of the field * @param int $workflow_id the workflow id * @param Array $transitions the transitions to duplicate * @param Array $field_mapping the field mapping * @param Array $ugroup_mapping the ugroup mapping * @param bool $duplicate_static_perms true if duplicate static perms, false otherwise * * @return void */ public function duplicate($values, $workflow_id, $transitions, $field_mapping, $ugroup_mapping, $duplicate_type) { if ($transitions != null) { foreach ($transitions as $transition) { if ($transition->getFieldValueFrom() == null) { $from_id = 'null'; $to = $transition->getFieldValueTo()->getId(); foreach ($values as $value => $id_value) { if ($value == $to) { $to_id = $id_value; } } } else { $from = $transition->getFieldValueFrom()->getId(); $to = $transition->getFieldValueTo()->getId(); foreach ($values as $value => $id_value) { if ($value == $from) { $from_id = $id_value; } if ($value == $to) { $to_id = $id_value; } } } $new_transition_id = $this->addTransition($workflow_id, $from_id, $to_id); // Duplicate permissions $this->condition_factory->duplicate($transition, $new_transition_id, $field_mapping, $ugroup_mapping, $duplicate_type); // Duplicate postactions $tpaf = $this->getPostActionFactory(); $tpaf->duplicate($transition, $new_transition_id, $field_mapping); } } }
/** * Wrapper for Transition_PostActionFactory * * @return Transition_PostActionFactory */ public function getConditionFactory() { return Workflow_Transition_ConditionFactory::build(); }