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; }
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'); }
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()); }
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'); }