public function process(Tracker_IDisplayTrackerLayout $layout, Codendi_Request $request, PFUser $current_user) { $transition = $request->get('transition'); //TODO check that the transition belongs to the current tracker // Permissions $ugroups = $request->get('ugroups'); permission_clear_all($this->tracker->group_id, 'PLUGIN_TRACKER_WORKFLOW_TRANSITION', $transition, false); if ($this->transition_factory->addPermissions($ugroups, $transition)) { $GLOBALS['Response']->addFeedback('info', $GLOBALS['Language']->getText('workflow_admin', 'permissions_updated')); } else { $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('workflow_admin', 'permissions_not_updated')); } //Conditions $condition_manager = new Transition_ConditionManager(); $condition_manager->process($this->transition_factory->getTransition($transition), $request, $current_user); // Post actions $tpam = new Transition_PostActionManager(); $tpam->process($this->transition_factory->getTransition($transition), $request, $current_user); $GLOBALS['Response']->redirect(TRACKER_BASE_URL . '/?' . http_build_query(array('tracker' => (int) $this->tracker->id, 'func' => Workflow::FUNC_ADMIN_TRANSITIONS, 'edit_transition' => $request->get('transition')))); }
public function process(Tracker_IDisplayTrackerLayout $layout, Codendi_Request $request, PFUser $current_user) { $transition = $this->transition_factory->getTransition($request->get('edit_transition')); $this->displayTransitionDetails($layout, $request, $current_user, $transition); }