public function executeSaveRanks() { $counseling = CounselingPeer::retrieveByPK($this->getRequestParameter('counseling_id')); $this->forward404Unless($counseling); $academic_calendar = AcademicCalendarPeer::retrieveByPK($this->getRequestParameter('accal_id')); $this->forward404Unless($academic_calendar); $ranks = $this->getRequestParameter('rank'); foreach ($ranks as $student_id => $rank) { $c = new Criteria(); $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $c->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $c->add(StudentAccalPeer::STUDENT_ID, $student_id); $sa = StudentAccalPeer::doSelectOne($c); if ($sa == null) { $sa = new StudentAccal(); } $sa->setStudentId($student_id); $sa->setAcademicCalendarId($academic_calendar->getId()); $sa->setClassGroupId($counseling->getClassGroupId()); $sa->setClassRank($rank); $sa->save(); } $totalScores = $this->getRequestParameter('totalScore'); foreach ($totalScores as $student_id => $totalScore) { $c = new Criteria(); $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $c->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $c->add(StudentAccalPeer::STUDENT_ID, $student_id); $sa = StudentAccalPeer::doSelectOne($c); if ($sa == null) { $sa = new StudentAccal(); } $sa->setStudentId($student_id); $sa->setAcademicCalendarId($academic_calendar->getId()); $sa->setClassGroupId($counseling->getClassGroupId()); $sa->setTotalScore($totalScore); $sa->save(); } $avgScores = $this->getRequestParameter('avgScore'); foreach ($avgScores as $student_id => $avgScore) { $c = new Criteria(); $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $c->add(StudentAccalPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $c->add(StudentAccalPeer::STUDENT_ID, $student_id); $sa = StudentAccalPeer::doSelectOne($c); if ($sa == null) { $sa = new StudentAccal(); } $sa->setStudentId($student_id); $sa->setAcademicCalendarId($academic_calendar->getId()); $sa->setClassGroupId($counseling->getClassGroupId()); $sa->setAvgScore($avgScore); $sa->save(); } $statues = $this->getRequestParameter('status'); foreach ($statues as $student_id => $status) { $cr = new Criteria(); $cr->add(StudentRaportPeer::STUDENT_ID, $student_id); $cr->add(StudentRaportPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cr->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cr->add(StudentRaportPeer::GRADE_SPEC_ID, 57); $sr = StudentRaportPeer::doSelectOne($cr); if ($sr == null) { $sr = new StudentRaport(); } $sr->setStudentId($student_id); $sr->setAcademicCalendarId($academic_calendar->getId()); $sr->setClassGroupId($counseling->getClassGroupId()); $sr->setGradeSpecId(57); $sr->setRemark($status); $sr->save(); } $scores = $this->getRequestParameter('score'); foreach ($scores as $k => $score) { if ($score != null) { if ($score != '-') { $ids = split('_', $k); $cb = new Criteria(); $cb->add(StudentHabitPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cb->add(StudentHabitPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cb->add(StudentHabitPeer::STUDENT_ID, $ids[0]); $cb->add(StudentHabitPeer::GRADE_COMPONENT_ID, $ids[1]); $sh = StudentHabitPeer::doSelectOne($cb); if ($sh == null) { $sh = new StudentHabit(); } $sh->setStudentId($ids[0]); $sh->setGradeComponentId($ids[1]); $sh->setAcademicCalendarId($academic_calendar->getId()); $sh->setClassGroupId($counseling->getClassGroupId()); $sh->setGrade($score); $sh->save(); } else { $ids = split('_', $k); $cb = new Criteria(); $cb->add(StudentHabitPeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $cb->add(StudentHabitPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cb->add(StudentHabitPeer::STUDENT_ID, $ids[0]); $cb->add(StudentHabitPeer::GRADE_COMPONENT_ID, $ids[1]); $sh = StudentHabitPeer::doSelectOne($cb); if ($sh == null) { $sh->delete(); } } } } return $this->redirect('counseling_hist/listLedger?accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId()); }
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()); }