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 getVCourseSchedules($criteria = null, $con = null) { include_once 'lib/model/om/BaseVCourseSchedulePeer.php'; if ($criteria === null) { $criteria = new Criteria(); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collVCourseSchedules === null) { if ($this->isNew()) { $this->collVCourseSchedules = array(); } else { $criteria->add(VCourseSchedulePeer::EMPLOYEE_ID, $this->getId()); VCourseSchedulePeer::addSelectColumns($criteria); $this->collVCourseSchedules = VCourseSchedulePeer::doSelect($criteria, $con); } } else { if (!$this->isNew()) { $criteria->add(VCourseSchedulePeer::EMPLOYEE_ID, $this->getId()); VCourseSchedulePeer::addSelectColumns($criteria); if (!isset($this->lastVCourseScheduleCriteria) || !$this->lastVCourseScheduleCriteria->equals($criteria)) { $this->collVCourseSchedules = VCourseSchedulePeer::doSelect($criteria, $con); } } } $this->lastVCourseScheduleCriteria = $criteria; return $this->collVCourseSchedules; }
public static function retrieveByPKs($pks, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(); $criteria->add(VCourseSchedulePeer::ID, $pks, Criteria::IN); $objs = VCourseSchedulePeer::doSelect($criteria, $con); } return $objs; }