예제 #1
0
 public function addPositionMilestone(PositionMilestone $l)
 {
     $this->collPositionMilestones[] = $l;
     $l->setProjectPosition($this);
 }
예제 #2
0
 /**
  * Executes updateMilestone action
  *
  */
 public function executeUpdateMilestone()
 {
     $this->forward404Unless($this->project = ProjectPeer::retrieveBySlug($this->getRequestParameter('project')), 'Project does not exist, using slug [' . $this->getRequestParameter('project') . ']');
     $this->tab = sfConfig::get('app_tab_project_team');
     $this->forward404Unless($this->position = ProjectPositionPeer::retrieveByUuid($this->getRequestParameter('position')), 'Position not found, unable to add milestone');
     $milestone = PositionMilestonePeer::retrieveByUuid($this->getRequestParameter('milestone'));
     if ($milestone == null) {
         $milestone = new PositionMilestone();
     }
     $milestone->setTitle($this->getRequestParameter('milestone_title'));
     if ($this->getRequestParameter('milestone_deadline')) {
         list($d, $m, $y) = sfI18N::getDateForCulture($this->getRequestParameter('milestone_deadline'), $this->getUser()->getCulture());
         $milestone->setDeadline("{$y}-{$m}-{$d}");
     }
     $milestone->setDescription($this->getRequestParameter('milestone_description'));
     $milestone->setDeliverables($this->getRequestParameter('milestone_deliverables'));
     $milestone->save();
     if (sfContext::getInstance()->getRequest()->isXmlHttpRequest()) {
         # Should we do something special here, if the request is ajax? Perhaps we can separate ajax and non-ajax paths here
     }
 }