Пример #1
0
 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);
 }