public function process(Tracker_IDisplayTrackerLayout $layout, Codendi_Request $request, PFUser $current_user) { $hp = Codendi_HTMLPurifier::instance(); $workflow = $this->workflow_factory->getWorkflowByTrackerId($this->tracker->id); $this->displayHeader($layout); echo '<h3>' . $GLOBALS['Language']->getText('workflow_admin', 'title_define_transitions') . '</h3>'; echo '<div class="workflow_transitions">'; if (count($workflow)) { $this->displayAdminWorkflow($layout, $request, $current_user, $workflow); } else { //Display creation form echo '<p>'; echo $GLOBALS['Language']->getText('workflow_admin', 'choose_field'); echo '<p>'; echo '<form action="' . TRACKER_BASE_URL . '/?' . http_build_query(array('tracker' => (int) $this->tracker->id, 'func' => Workflow::FUNC_ADMIN_TRANSITIONS)) . '" method="POST">'; echo '<SELECT name="field_id">'; //We display only the 'sb' static type field foreach ($this->form_element_factory->getUsedFormElementsByType($this->tracker, 'sb') as $field) { $bf = new Tracker_FormElement_Field_List_BindFactory(); if ($bf->getType($field->getBind()) == 'static') { echo '<OPTION value=' . $hp->purify($field->id) . '>' . $hp->purify($field->label) . '</OPTION>'; } } echo '</SELECT>'; echo '<br>'; echo '<input type="submit" name="create" value="' . $GLOBALS['Language']->getText('global', 'btn_submit') . '" />'; echo '</form>'; } echo '</div>'; $this->displayFooter($layout); }