/** * Deletes all exiting conditions then saves the new condition. * @param Transition $transition * @param int $field_id * @return int The ID of the newly created condition */ public function addCondition(Transition $transition, $field_id) { $this->getFieldNotEmptyDao()->deleteByTransitionId($transition->getId()); if ($field_id) { return $this->getFieldNotEmptyDao()->create($transition->getId(), $field_id); } }
public function itDelegatesDuplicateToPermissionsManager() { $new_transition_id = 2; $field_mapping = array('some fields mapping'); $ugroup_mapping = array('some ugroups mapping'); $duplicate_type = PermissionsDao::DUPLICATE_NEW_PROJECT; expect($this->permissions_manager)->duplicatePermissions($this->transition->getId(), $new_transition_id, array(Workflow_Transition_Condition_Permissions::PERMISSION_TRANSITION), $ugroup_mapping, $duplicate_type)->once(); $this->permissions_factory->duplicate($this->transition, $new_transition_id, $field_mapping, $ugroup_mapping, $duplicate_type); }
private function displayTransitionDetails(TrackerManager $engine, Codendi_Request $request, PFUser $current_user, Transition $transition) { $hp = Codendi_HTMLPurifier::instance(); $this->displayHeader($engine); if ($transition->getFieldValueFrom()) { $from_label = $transition->getFieldValueFrom()->getLabel(); } else { $from_label = $GLOBALS['Language']->getText('workflow_admin', 'new_artifact'); } $to_label = $transition->getFieldValueTo()->getLabel(); echo '<h3>'; echo $GLOBALS['Language']->getText('workflow_admin', 'title_define_transition_details', array($hp->purify($from_label), $hp->purify($to_label))); echo '</h3>'; $form_action = TRACKER_BASE_URL . '/?' . http_build_query(array('tracker' => (int) $this->tracker->id, 'func' => Workflow::FUNC_ADMIN_TRANSITIONS, 'transition' => $transition->getId())); echo '<form action="' . $form_action . '" method="POST">'; echo '<table><tr><td>'; $section_conditions = new Widget_Static($GLOBALS['Language']->getText('workflow_admin', 'under_the_following_condition')); $section_conditions->setContent($transition->fetchConditions()); $section_conditions->display(); $actions = ''; $actions .= $transition->fetchPostActions(); $actions .= $this->post_action_factory->fetchPostActions(); $section_postactions = new Widget_Static($GLOBALS['Language']->getText('workflow_admin', 'following_action_performed')); $section_postactions->setContent($actions); $section_postactions->display(); $back_to_transitions_link = TRACKER_BASE_URL . '/?' . http_build_query(array('tracker' => (int) $this->tracker->id, 'func' => Workflow::FUNC_ADMIN_TRANSITIONS)); echo '<p>'; echo '<a href="' . $back_to_transitions_link . '">←' . $GLOBALS['Language']->getText('plugin_tracker_admin', 'clean_cancel') . '</a>'; echo ' '; echo '<input type="submit" name="workflow_details" value="' . $GLOBALS['Language']->getText('global', 'btn_submit') . '" />'; echo '</p>'; echo '</td></tr></table>'; echo '</form>'; $this->displayFooter($engine); }
/** * Retrieves matching PostAction database records. * * @param Transition $transition The Transition to which the PostActions must be associated * @param string $shortname The PostAction type (short name, not class name) * * @return DataAccessResult */ private function loadPostActionRows(Transition $transition, $shortname) { $dao = $this->getDao($shortname); return $dao->searchByTransitionId($transition->getId()); }
/** * Duplicate the conditions */ public function duplicate(Transition $from_transition, $new_transition_id, $field_mapping, $ugroup_mapping, $duplicate_type) { PermissionsManager::instance()->duplicatePermissions($from_transition->getId(), $new_transition_id, array(Workflow_Transition_Condition_Permissions::PERMISSION_TRANSITION), $ugroup_mapping, $duplicate_type); }
/** * Duplicate the conditions */ public function duplicate(Transition $from_transition, $new_transition_id, $field_mapping, $ugroup_mapping, $duplicate_type) { $this->dao->duplicate($from_transition->getId(), $new_transition_id, $field_mapping); }
/** * Retrieves matching PostAction database records. * * @param Transition $transition The Transition to which the PostActions must be associated * @param string $shortname The PostAction type (short name, not class name) * * @return DataAccessResult */ private function loadPostActionRows(Transition $transition) { return $this->dao->searchByTransitionId($transition->getId()); }