Пример #1
0
 public static function doSelectOrdered(Criteria $criteria, $con = null)
 {
     $sc_id = sfContext::getInstance()->getRequest()->getParameter('student_course_id');
     $sc = StudentCoursePeer::retrieveByPk($sc_id);
     $stu_id = sfContext::getInstance()->getRequest()->getParameter('student_id');
     $stu = StudentPeer::retrieveByPk($stu_id);
     if ($sc && $sc->getSubjectAccal() && $sc->getSubjectAccal()->getAcademicCalendar() && $sc->getSubjectAccal()->getAcademicCalendar()->getClassGroup()) {
         $criteria->add(VClassGroupPeer::ID, $sc->getSubjectAccal()->getAcademicCalendar()->getClassGroup()->getChildRecurs(), Criteria::IN);
     } elseif ($stu && $stu->getClassGroup()) {
         $criteria->add(VClassGroupPeer::ID, $stu->getClassGroup()->getChildRecurs(), Criteria::IN);
     }
     $tmp_depts = VClassGroupPeer::doSelect($criteria);
     $depts = array();
     foreach ($tmp_depts as $key => $val) {
         $pi = $val->getParentalIndex();
         $prefix = '';
         for ($i = 0; $i < $val->level - 1; $i++) {
             $prefix .= ParamsPeer::retrieveByCode('tree_node_mark')->getValue();
         }
         $val->setName($prefix . $val->getName());
         $val->setCode($prefix . $val->getCode());
         $depts[$pi] = $val;
     }
     ksort($depts);
     $result = array();
     foreach ($depts as $r) {
         $result[] = $r;
     }
     return $result;
 }
Пример #2
0
 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');
     if ($action_type == $action_i18n || !$this->getRequestParameter('id')) {
         $class_course = new ClassCourse();
         $class_course->setClassGroupId($this->getRequestParameter('class_group_id'));
         $class_course->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id'));
         $class_course->setStatus(3);
         $class_course->save();
         $academic_calendar_id = $this->getRequestParameter('academic_calendar_id');
         $academic_calendar = AcademicCalendarPeer::retrieveByPK($academic_calendar_id);
         $this->forward404Unless($academic_calendar);
         $class_group_id = $this->getRequestParameter('class_group_id');
         $class_group = ClassGroupPeer::retrieveByPK($class_group_id);
         $this->forward404Unless($class_group);
         $c = new Criteria();
         $c->add(StudentPeer::CLASS_GROUP_ID, $class_group_id);
         $students = StudentPeer::doSelect($c);
         foreach ($students as $student) {
             $c = new Criteria();
             $c->add(VCourseSchedulePeer::CLASS_GROUP_ID, $class_group_id);
             $c->add(VCourseSchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar_id);
             $courses = VCourseSchedulePeer::doSelect($c);
             foreach ($courses as $course) {
                 $student_course = new StudentCourse();
                 $student_course->setStudentId($student->getId());
                 $student_course->setSubjectAccalId($course->getSubjectAccalId());
                 $student_course->setClassGroupId($course->getClassGroupId());
                 $student_course->setStatus(3);
                 $student_course->save();
             }
         }
     } else {
         $class_course = ClassCoursePeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($class_course);
         $class_course->setId($this->getRequestParameter('id'));
         $class_course->setClassGroupId($this->getRequestParameter('class_group_id'));
         $class_course->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id'));
         $class_course->setStatus(3);
         $class_course->save();
         $academic_calendar_id = $this->getRequestParameter('academic_calendar_id');
         $class_group_id = $this->getRequestParameter('class_group_id');
         $c = new Criteria();
         $c->add(StudentPeer::CLASS_GROUP_ID, $class_group_id);
         $students = StudentPeer::doSelect($c);
         foreach ($students as $student) {
             $c = new Criteria();
             $c->add(VCourseSchedulePeer::CLASS_GROUP_ID, $class_group_id);
             $c->add(VCourseSchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar_id);
             $courses = VCourseSchedulePeer::doSelect($c);
             foreach ($courses as $course) {
                 $c = new Critaria();
                 $c->add(StudenCoursePeer::STUDENT_ID, $student->getId());
                 $stu_courses = StudentCoursePeer::doSelect($c);
                 foreach ($stu_courses as $stu_courses) {
                     $student_course = StudentCoursePeer::retrieveByPk($stu_courses->getId());
                     $student_course->setStudentId($student->getId());
                     $student_course->setSubjectAccalId($course->getSubjectAccalId());
                     $student_course->setClassGroupId($course->getClassGroupId());
                     $student_course->setStatus(3);
                     $student_course->save();
                 }
             }
         }
     }
     return $this->redirect('subject_plan/list');
 }
Пример #3
0
 public function executeUpdate()
 {
     $student_id = $this->getRequestParameter('student_id');
     $student = StudentPeer::retrieveByPK($student_id);
     $this->forward404Unless($student);
     $this->student = $student;
     $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')) {
         $student_course = new StudentCourse();
     } else {
         $student_course = StudentCoursePeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($student_course);
     }
     $student_course->setId($this->getRequestParameter('id'));
     $student_course->setStudentId($this->getRequestParameter('student_id'));
     $student_course->setSubjectAccalId($this->getRequestParameter('subject_accal_id'));
     $student_course->setStatus($this->getRequestParameter('status'));
     $student_course->setClassGroupId($this->getRequestParameter('class_group_id'));
     $student_course->save();
     return $this->redirect('student_course_s/list?student_id=' . $student->getId());
 }
Пример #4
0
 public function executeDeletePlan()
 {
     $student_id = $this->getRequestParameter('student_id');
     $student = StudentPeer::retrieveByPK($student_id);
     $this->forward404Unless($student);
     $this->student = $student;
     $student_course = StudentCoursePeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($student_course);
     $ref_error = 0;
     foreach ($student_course->getRefCountMethods() as $ref) {
         $method = "count" . $ref['affix'];
         $count = $student_course->{$method}();
         if ($count > 0) {
             ++$ref_error;
             $this->getRequest()->setError('student_course/deletePlan/' . sfInflector::camelize($ref['table']), $count);
         }
     }
     if ($ref_error > 0) {
         $this->getRequest()->setError('student_course/deletePlan', '_ERR_DELETE_ (' . $student_course->toString() . ' - id:' . $student_course->getId() . ')');
     } else {
         $student_course->delete();
     }
     $this->getRequest()->setParameter('student_id', $student_id);
     return $this->forward('student_course', 'listPlan');
 }