Example #1
0
 public function executeUpdateStatus()
 {
     $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');
     $student = StudentPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($student);
     $student->setStatus($this->getRequestParameter('status'));
     $student->save();
     $c = new Criteria();
     $c->add(StudentLeavePeer::STUDENT_ID, $student->getId());
     $student_leave = StudentLeavePeer::doSelectOne($c);
     if ($student_leave == null) {
         $student_leave = new StudentLeave();
     }
     $student_leave->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id'));
     $student_leave->setStatus($this->getRequestParameter('status'));
     $student_leave->setYear($this->getRequestParameter('year'));
     $student_leave->setEndDate($this->getRequestParameter('end_date'));
     $student_leave->setDetail($this->getRequestParameter('detail'));
     $student_leave->setNextSchool($this->getRequestParameter('next_school'));
     $student_leave->setNextLevel($this->getRequestParameter('next_level'));
     $student_leave->save();
     if ($student->getStatus() == Student::STATUS_OVERDUE) {
         $c = new Criteria();
         $c->add(StudentAccalPeer::STUDENT_ID, $student->getId());
         $c->add(StudentAccalPeer::CLASS_GROUP_ID, $student->getClassGroupId());
         $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $student_leave->getAcademicCalendarId());
         $student_accal = StudentAccalPeer::doSelectOne($c);
         if ($student_accal) {
             $student_accal->setStatus(Student::STATUS_OVERDUE);
             $student_accal->save();
             /**
             				$student_accal->delete();
             				**/
         }
     }
     return $this->redirect('scholar/list');
 }