protected function _saveMilestoneDetails(framework\Request $request, $milestone = null) { if (!$request['name']) { throw new \Exception($this->getI18n()->__('You must provide a valid milestone name')); } if ($milestone === null) { $milestone = new \thebuggenie\core\entities\Milestone(); } $milestone->setName($request['name']); $milestone->setProject($this->selected_project); $milestone->setStarting((bool) $request['is_starting']); $milestone->setScheduled((bool) $request['is_scheduled']); $milestone->setDescription($request['description']); $milestone->setVisibleRoadmap($request['visibility_roadmap']); $milestone->setVisibleIssues($request['visibility_issues']); $milestone->setType($request->getParameter('milestone_type', \thebuggenie\core\entities\Milestone::TYPE_REGULAR)); $milestone->setPercentageType($request->getParameter('percentage_type', \thebuggenie\core\entities\Milestone::PERCENTAGE_TYPE_REGULAR)); if ($request->hasParameter('sch_month') && $request->hasParameter('sch_day') && $request->hasParameter('sch_year')) { $scheduled_date = mktime(23, 59, 59, framework\Context::getRequest()->getParameter('sch_month'), framework\Context::getRequest()->getParameter('sch_day'), framework\Context::getRequest()->getParameter('sch_year')); $milestone->setScheduledDate($scheduled_date); } else { $milestone->setScheduledDate(0); } if ($request->hasParameter('starting_month') && $request->hasParameter('starting_day') && $request->hasParameter('starting_year')) { $starting_date = mktime(0, 0, 1, framework\Context::getRequest()->getParameter('starting_month'), framework\Context::getRequest()->getParameter('starting_day'), framework\Context::getRequest()->getParameter('starting_year')); $milestone->setStartingDate($starting_date); } else { $milestone->setStartingDate(0); } $milestone->save(); }