예제 #1
0
 /**
  * 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);
     }
 }
예제 #2
0
 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);
 }
예제 #3
0
 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 '&nbsp;';
     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());
 }
예제 #5
0
 /**
  * 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);
 }
예제 #6
0
 /**
  * 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());
 }