Пример #1
0
 /**
  * Add a new sprint type milestone to a project
  *
  * @param framework\Request $request
  */
 public function runScrumAddSprint(framework\Request $request)
 {
     $this->forward403if(framework\Context::getCurrentProject()->isArchived());
     $this->forward403unless($this->_checkProjectPageAccess('project_scrum'));
     if (($sprint_name = $request['sprint_name']) && trim($sprint_name) != '') {
         $sprint = new entities\Milestone();
         $sprint->setName($sprint_name);
         $sprint->setType(entities\Milestone::TYPE_SCRUMSPRINT);
         $sprint->setProject($this->selected_project);
         $sprint->setStartingDate(mktime(0, 0, 1, $request['starting_month'], $request['starting_day'], $request['starting_year']));
         $sprint->setScheduledDate(mktime(23, 59, 59, $request['scheduled_month'], $request['scheduled_day'], $request['scheduled_year']));
         $sprint->save();
         return $this->renderJSON(array('failed' => false, 'content' => $this->getComponentHTML('sprintbox', array('sprint' => $sprint)), 'sprint_id' => $sprint->getID()));
     }
     return $this->renderJSON(array('failed' => true, 'error' => framework\Context::getI18n()->__('Please specify a sprint name')));
 }