public function addPositionMilestone(PositionMilestone $l) { $this->collPositionMilestones[] = $l; $l->setProjectPosition($this); }
/** * 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 } }