Exemplo n.º 1
0
 private function getEditorFields($trackerId, $issue)
 {
     $fields = array();
     $statusDataStore = new \Spit\DataStores\StatusDataStore();
     $priorityDataStore = new \Spit\DataStores\PriorityDataStore();
     $versionDataStore = new \Spit\DataStores\VersionDataStore();
     $userDataStore = new \Spit\DataStores\UserDataStore();
     $categoryDataStore = new \Spit\DataStores\CategoryDataStore();
     $status = new SelectField("statusId", T_("Status"));
     $this->fillSelectField($status, $statusDataStore->get(), $issue->statusId);
     array_push($fields, $status);
     $priority = new SelectField("priorityId", T_("Priority"));
     $this->fillSelectField($priority, $priorityDataStore->get(), $issue->priorityId);
     array_push($fields, $priority);
     $category = new SelectField("categoryId", T_("Category"));
     $category->add(null, "");
     $this->fillSelectField($category, $categoryDataStore->get(), $issue->categoryId);
     array_push($fields, $category);
     $found = new SelectField("foundId", T_("Found"));
     $found->add(null, "");
     $this->fillSelectField($found, $versionDataStore->get(), $issue->foundId);
     array_push($fields, $found);
     $target = new SelectField("targetId", T_("Target"));
     $target->add(null, "");
     $this->fillSelectField($target, $versionDataStore->get(), $issue->targetId);
     array_push($fields, $target);
     $assignee = new SelectField("assigneeId", T_("Assignee"));
     $assignee->add(null, "");
     $this->fillSelectField($assignee, $userDataStore->getMembers(), $issue->assigneeId);
     array_push($fields, $assignee);
     $issueFields = new \Spit\IssueFields($this->app->project->name);
     foreach ($issueFields->getCustomFieldMap() as $name => $label) {
         $values = $issueFields->getCustomFieldValues($name);
         if (count($values) != 0) {
             $custom = new SelectField($name, $label);
             $custom->add(null, "");
             foreach ($values as $value => $text) {
                 $selected = isset($issue->{$name}) && $issue->{$name} == $value;
                 $custom->add($value, $text, $selected);
             }
         } else {
             $custom = new TextField($name, $label);
             if (isset($issue->{$name})) {
                 $custom->value = $issue->{$name};
             }
         }
         array_push($fields, $custom);
     }
     return $issueFields->filter($fields, $trackerId, true);
 }
Exemplo n.º 2
0
 private function loadCustomFieldValues($context)
 {
     $context->customFieldValues = array();
     foreach ($context->options->customMap as $redmineId => $spitId) {
         $valueMap = array();
         foreach ($context->projects as $project) {
             $issueFields = new \Spit\IssueFields($project->name);
             foreach ($issueFields->getCustomFieldValues($spitId) as $id => $value) {
                 // used to map values to ids.
                 $valueMap[$value] = $id;
             }
         }
         $context->customFieldValues[$spitId] = $valueMap;
     }
 }