Beispiel #1
0
 public function runUpdateMilestoneIssues(TBGRequest $request)
 {
     if ($request['milestone_id']) {
         $milestone = new TBGMilestone($request['milestone_id']);
     } else {
         $milestone = new TBGMilestone();
         $milestone->setName(TBGContext::getI18n()->__('Unassigned issues / backlog'));
         $milestone->setId(0);
         $milestone->setProject($this->selected_project);
     }
     foreach ($request['issue_id'] as $issue_id) {
         $issue = new TBGIssue($issue_id);
         if (isset($request['estimated_hours'][$issue_id])) {
             $issue->setEstimatedHours($request['estimated_hours'][$issue_id]);
         }
         if (isset($request['estimated_points'][$issue_id])) {
             $issue->setEstimatedPoints($request['estimated_points'][$issue_id]);
         }
         if (isset($request['spent_hours'][$issue_id])) {
             $issue->setSpentHours($request['spent_hours'][$issue_id]);
         }
         if (isset($request['spent_points'][$issue_id])) {
             $issue->setSpentPoints($request['spent_points'][$issue_id]);
         }
         if (isset($request['priority'][$issue_id])) {
             $issue->setPriority($request['priority'][$issue_id]);
         }
         if (isset($request['percent_complete'][$issue_id])) {
             $issue->setPercentCompleted($request['percent_complete'][$issue_id]);
         }
         if (isset($request['severity'][$issue_id])) {
             $issue->setSeverity($request['severity'][$issue_id]);
         }
         if (isset($request['reproducability'][$issue_id])) {
             $issue->setReproducability($request['reproducability'][$issue_id]);
         }
         if (isset($request['category'][$issue_id])) {
             $issue->setCategory($request['category'][$issue_id]);
         }
         if (isset($request['customfield'])) {
             foreach ($request['customfield'] as $fieldkey => $data) {
                 if (isset($data[$issue_id])) {
                     $issue->setCustomField($fieldkey, $data[$issue_id]);
                 }
             }
         }
         $issue->save();
     }
     return $this->renderJSON(array('estimated_hours' => $milestone->getHoursEstimated(), 'estimated_points' => $milestone->getPointsEstimated(), 'message' => TBGContext::getI18n()->__('%num issue(s) updated', array('%num' => count($request['issue_id'])))));
 }