public function executeUpdate() { $member_code = $this->getRequestParameter('code'); $student = StudentPeer::retrieveByCode($member_code); $now = date('dmY'); $i18n = new sfI18N(); $i18n->initialize($this->getContext()); $i18n->setCulture($this->getUser()->getCulture()); $action_i18n = $i18n->globalMessageFormat->format('save as new'); $action_type = $this->getRequestParameter('action_type'); if ($action_type == $action_i18n || !$this->getRequestParameter('id')) { $attendance = new Absence(); } else { $attendance = AbsencePeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($attendance); } $attendance->setId($this->getRequestParameter('id')); $attendance->setStudentId($student->getId()); if ($this->getRequestParameter('time_in')) { $attendance->setTimeIn($this->getRequestParameter('time_in')); } $attendance->setAcademicCalendarId($student->getAcademicCalendarId()); $attendance->setClassGroupId($student->getClassGroupId()); $attendance->setCode($now); $attendance->save(); return $this->redirect('attendance/list'); }