public function executeUpdate() { $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'); $counseling = CounselingPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($counseling); $counseling->setId($this->getRequestParameter('id')); $counseling->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id')); $counseling->setClassGroupId($this->getRequestParameter('class_group_id')); $counseling->setEmployeeId($this->getRequestParameter('employee_id')); $counseling->setClassTypeId($this->getRequestParameter('class_type_id')); $counseling->save(); $c = new Criteria(); $c->add(CounselingTutorPeer::COUNSELING_ID, $counseling->getId()); CounselingTutorPeer::doDelete($c); $tutors = $this->getRequestParameter('isSelected'); if ($tutors) { foreach ($tutors as $id) { $cr = new CounselingTutor(); $cr->setCounseling($counseling); $cr->setEmployeeId($id); $cr->save(); } } $params = array(); foreach (explode('&', $this->getRequestParameter('student_list_ser')) as $p) { $p = explode('=', $p); $params[rawurldecode($p[0])][] = rawurldecode($p[1]); } $accal = AcademicCalendarPeer::retrieveByPk($this->getRequestParameter('academic_calendar_id')); if (array_key_exists('students', $params)) { foreach ($params['students'] as $stu_id) { $stu = StudentPeer::retrieveByPk($stu_id); $stu->setAcademicCalendarId($counseling->getAcademicCalendarId()); $stu->setClassGroupId($counseling->getClassGroupId()); $stu->save(); $ct = new Criteria(); $ct->add(AcademicCalendarPeer::PARENT, $counseling->getAcademicCalendarId()); $academics = AcademicCalendarPeer::doSelect($ct); if ($academics) { foreach ($academics as $academic) { $cr = new Criteria(); $cr->add(StudentAccalPeer::STUDENT_ID, $stu_id); $cr->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic->getId()); $stu_accal = StudentAccalPeer::doSelectOne($cr); if ($stu_accal == null) { $stu_accal = new StudentAccal(); } $stu_accal->setStudentId($stu_id); $stu_accal->setAcademicCalendarId($academic->getId()); $stu_accal->setClassGroupId($counseling->getClassGroupId()); $stu_accal->setClassName($stu->getClassName()); $stu_accal->setStatus($stu->getStatus()); $stu_accal->save(); } } } } return $this->redirect('counselor/showPreview?id=' . $counseling->getId()); }
public function executeSaveAbsent() { $counseling = CounselingPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($counseling); $absences = $this->getRequestParameter('absence'); foreach ($absences as $student_id => $absence) { $stu = StudentPeer::retrieveByPk($student_id); $this->forward404Unless($stu); $stu->setAcademicCalendarId($counseling->getAcademicCalendarId()); $stu->setClassGroupId($counseling->getClassGroupId()); $stu->setClassName($absence); $stu->save(); } $status1s = $this->getRequestParameter('status1'); foreach ($status1s as $student_id => $status1) { $stu = StudentPeer::retrieveByPk($student_id); $this->forward404Unless($stu); $c = new Criteria(); $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $counseling->getAcademicCalendar()->getChildA()->getId()); $c->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $c->add(StudentAccalPeer::STUDENT_ID, $student_id); $student_accal = StudentAccalPeer::doSelectOne($c); if ($student_accal == null) { $student_accal = new StudentAccal(); } $student_accal->setAcademicCalendarId($counseling->getAcademicCalendar()->getChildA()->getId()); $student_accal->setClassGroupId($counseling->getClassGroupId()); $student_accal->setStudentId($student_id); $student_accal->setStatus($status1); $student_accal->save(); } $status2s = $this->getRequestParameter('status2'); foreach ($status2s as $student_id => $status2) { $stu = StudentPeer::retrieveByPk($student_id); $this->forward404Unless($stu); $c = new Criteria(); $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $counseling->getAcademicCalendar()->getChildB()->getId()); $c->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $c->add(StudentAccalPeer::STUDENT_ID, $student_id); $student_accal = StudentAccalPeer::doSelectOne($c); if ($student_accal == null) { $student_accal = new StudentAccal(); } $student_accal->setAcademicCalendarId($counseling->getAcademicCalendar()->getChildB()->getId()); $student_accal->setClassGroupId($counseling->getClassGroupId()); $student_accal->setStudentId($student_id); $student_accal->setStatus($status2); $student_accal->save(); } if ($this->getRequestParameter('tipe')) { return $this->redirect('counselor_new/finish?counseling_id=' . $counseling->getId()); } else { return $this->redirect('counselor_new/list'); } }