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']))))); }