public function executeSaveAvailability(sfWebRequest $request) { $member_id = $this->getUser()->getMemberId(); if ($member_id) { $member = MemberPeer::retrieveByPK($member_id); } else { $this->forward404(); } $availability = $member->getAvailability(); if (!$availability instanceof Availability) { $availability = new Availability(); $availability->setMemberId($member_id); } $availability->setNotAvailable($request->getParameter('available') != 1); if ($availability->getNotAvailable()) { if ($request->getParameter('option') == 'dates') { $availability->setFirstDate($request->getParameter('start_date')); $availability->setLastDate($request->getParameter('end_date')); } else { $availability->setFirstDate(null); $availability->setLastDate(null); } } $availability->setNoWeekday($request->getParameter('weekdays') != 1); $availability->setNoNight($request->getParameter('nights') != 1); $availability->setNoWeekend($request->getParameter('weekends') != 1); $availability->setLastMinute($request->getParameter('last_minute')); $availability->setAsMissionMssistant($request->getParameter('assistant')); $availability->setAvailabilityComment($request->getParameter('comment')); $availability->save(); return sfView::NONE; }