public static function doSelectByStudentAll() { $student = StudentPeer::retrieveByPK(sfContext::getInstance()->getRequest()->getParameter('student_id')); if (!$student) { return array(); } $c = new Criteria(); $c->add(StudentCoursePeer::STUDENT_ID, $student->getId()); return StudentCoursePeer::doSelect($c); }
public function getStudentCourses($criteria = null, $con = null) { include_once 'lib/model/om/BaseStudentCoursePeer.php'; if ($criteria === null) { $criteria = new Criteria(); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collStudentCourses === null) { if ($this->isNew()) { $this->collStudentCourses = array(); } else { $criteria->add(StudentCoursePeer::SUBJECT_CURR_ID, $this->getId()); StudentCoursePeer::addSelectColumns($criteria); $this->collStudentCourses = StudentCoursePeer::doSelect($criteria, $con); } } else { if (!$this->isNew()) { $criteria->add(StudentCoursePeer::SUBJECT_CURR_ID, $this->getId()); StudentCoursePeer::addSelectColumns($criteria); if (!isset($this->lastStudentCourseCriteria) || !$this->lastStudentCourseCriteria->equals($criteria)) { $this->collStudentCourses = StudentCoursePeer::doSelect($criteria, $con); } } } $this->lastStudentCourseCriteria = $criteria; return $this->collStudentCourses; }
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() { $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('student_id')); $this->forward404Unless($student); $this->student = $student; if ($action_type == $action_i18n || !$this->getRequestParameter('id')) { $student_leave = new StudentLeave(); $student_leave->setStatus(StudentLeave::STATUS_PROPOSED); } else { $student_leave = StudentLeavePeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($student_leave); $student_leave->setStatus(StudentLeave::STATUS_CANCELED); } $student_leave->setId($this->getRequestParameter('id')); $student_leave->setStudentId($this->getRequestParameter('student_id')); $student_leave->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id')); $student_leave->save(); $stu = $student_leave->getStudent(); if ($student_leave->getStatus() == StudentLeave::STATUS_ACTIVE) { // add payment journal $job = JobPeer::retrieveByCode($this->getModuleName()); $academic_process = $job->getAcademicProcess(); $c = new Criteria(); $c->add(AcademicCostPeer::ACADEMIC_PROCESS_ID, $academic_process->getId()); $c->add(AcademicCostPeer::ACADEMIC_CALENDAR_ID, $student_leave->getAcademicCalendarId()); $costs = AcademicCostPeer::doSelect($c); foreach ($costs as $c) { $pj = new PaymentJournal(); $pj->setPayer($stu->getId()); $pj->setAcademicCost($c); $pj->setJob($job); $pj->setAmount($c->getAmount()); $pj->setPaid($c->getAmount()); $pj->setReceivable(0); $pj->setAcademicProcess($academic_process); $pj->setPayerType(PaymentJournal::PAYER_TYPE_STUDENT); $pj->save(); $ph = new PaymentHistory(); $ph->setPaymentJournal($pj); $ph->setAmount($c->getAmount()); $ph->save(); } // set student status $stu->setStatus(Student::STATUS_INACTIVE); $stu->save(); // cancelled all student course $c = new Criteria(); $c->add(StudentCoursePeer::STUDENT_ID, $stu->getId()); $c->add(StudentCoursePeer::STATUS, array(StudentCourse::STATUS_PLANNED, StudentCourse::STATUS_APPROVED, StudentCourse::STATUS_ACTIVE), Criteria::IN); $scs = StudentCoursePeer::doSelect($c); foreach ($scs as $sc) { $sc->setStatus(StudentCourse::STATUS_CANCELED); $sc->save(); } } elseif ($student_leave->getStatus() == StudentLeave::STATUS_DONE) { $stu->setStatus(Student::STATUS_ACTIVE); $stu->save(); } return $this->redirect('student_leave_s/list?student_id=' . $student->getId()); }
public function executeTranscript() { $student = StudentPeer::retrieveByPK($this->getContext()->getUser()->getAttribute('user_id', '', 'bo')); $this->forward404Unless($student); $c = new Criteria(); $c->add(StudentCoursePeer::STUDENT_ID, $student->getId()); $c->addAscendingOrderByColumn(SubjectPeer::CODE); $c->addJoin(SubjectAccalPeer::ID, StudentCoursePeer::SUBJECT_ACCAL_ID); $c->addJoin(SubjectPeer::ID, SubjectAccalPeer::SUBJECT_ID); $c->add(StudentCoursePeer::STATUS, StudentCourse::STATUS_CLOSED); $courses = StudentCoursePeer::doSelect($c); $this->courses = $courses; $this->student = $student; $this->setViewClass('sfDomPDF'); }
public function executeSelectByAccal() { $student_course_id = $this->getRequestParameter('student_course_id'); $student_course = StudentCoursePeer::retrieveByPK($student_course_id); if (!$student_course) { $student_course = new StudentCourse(); } $student_id = $this->getRequestParameter('student_id'); $student = StudentPeer::retrieveByPK($student_id); // $this->forward404Unless($student); $accal_id = $this->getRequestParameter('accal_id'); $accal = AcademicCalendarPeer::retrieveByPK($accal_id); $disabled = array(); if ($student) { $student_courses = $student->getStudentCoursesJoinSubjectAccal(); foreach ($student_courses as $sc) { if ($sc->getSubjectAccal()->getAcademicCalendarId() == $accal->getId() && $student_course->getSubjectAccalId() != $sc->getSubjectAccal()->getId()) { $disabled[] = $sc->getSubjectAccal()->getId(); } } } $content = array(); $objs = SubjectAccalPeer::doSelectByAccal(); if ($student) { foreach ($objs as $o) { $content[$o->getId()] = $o->toString(); $c = new Criteria(); $c->add(SubjectAccalPeer::ID, $o->getId()); $c->add(SubjectCurrPeer::SUBJECT_ID, $o->getSubjectId()); $c->addJoin(AcademicCalendarPeer::ID, SubjectAccalPeer::ACADEMIC_CALENDAR_ID); $c->addJoin(AcademicCalendarPeer::CURRICULUM_ID, SubjectCurrPeer::CURRICULUM_ID); $c->addJoin(SubjectCurrPeer::ID, SubjectPrereqPeer::SUBCURR); $sps = SubjectPrereqPeer::doSelect($c); foreach ($sps as $sp) { $s = $sp->getSubjectCurrRelatedBySubcurrPrereq()->getSubject(); // prereq subject must be in closed state $c = new Criteria(); $c->add(SubjectAccalPeer::SUBJECT_ID, $s->getId()); $c->add(StudentCoursePeer::STUDENT_ID, $student_id); $c->add(StudentCoursePeer::STATUS, StudentCourse::STATUS_CLOSED); $c->addJoin(StudentCoursePeer::SUBJECT_ACCAL_ID, SubjectAccalPeer::ID); $scs = StudentCoursePeer::doSelect($c); $isPassGrade = false; $isPassCredit = true; $isPassIndex = true; foreach ($scs as $sc) { $grade = $sc->getFinalGrade(); $gc = GradeConversionPeer::retrieveByName($grade[0]); // check prereq subject grade if ($gc && $gc->getGrade() >= $sp->getGradeConversion()->getGrade()) { $isPassGrade = true; } else { $isPassGrade = false; } // check credit requirement if ($sp->getTotalCredit() > 0) { if ($sc->getTotalCreditClosed() >= $sp->getTotalCredit()) { $isPassCredit = true; } else { $isPassCredit = false; } } // check index requirement if ($sp->getPerformanceIndex() > 0) { if ($sc->getPerformanceIndex() >= $sp->getPerformanceIndex()) { $isPassIndex = true; } else { $isPassIndex = false; } } } $s0 = $sp->getSubjectCurrRelatedBySubcurrPrereq()->getSubject()->toString(); $s1 = $sp->getSubjectCurrRelatedBySubcurr()->getSubject()->toString(); // echo "<div align=left><pre>"; // echo "$s1 -> $s0 | isPassGrade:$isPassGrade isPassCredit:$isPassCredit isPassIndex:$isPassIndex"; // echo "</pre></div>"; if (!$isPassGrade || !$isPassCredit || !$isPassIndex) { $disabled[] = $o->getId(); } } } } else { foreach ($objs as $o) { $content[$o->getId()] = $o->toString(); } } $this->content = $content; $this->disabled = $disabled; }
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(StudentCoursePeer::ID, $pks, Criteria::IN); $objs = StudentCoursePeer::doSelect($criteria, $con); } return $objs; }
public function executeListDevelopment() { $group_id = $this->getContext()->getUser()->getAttribute('group_id', null, 'bo'); $c = new Criteria(); $c->add(JobPeer::CODE, $this->getModuleName()); $job = JobPeer::doSelectOne($c); $acl = AclPeer::retrieveByPK($group_id, $job->getId()); if (!$acl) { $this->forward('default', 'error404'); } $this->can_edit = $acl->getEditPriv() == 1; $this->can_remove = $acl->getRemovePriv() == 1; $student_id = $this->getRequestParameter('student_id'); $student = StudentPeer::retrieveByPK($student_id); $this->student = $student; $this->forward404Unless($student); $c = new Criteria(); $c->add(GradeComponentPeer::GRADE_SPEC_ID, '20'); $c->add(GradeComponentPeer::PUBLISHED, '1'); $c->addAscendingOrderByColumn(GradeComponentPeer::NAME); $this->components = GradeComponentPeer::doSelect($c); $this->component_count = GradeComponentPeer::doCount($c); $c = new Criteria(); $c->add(VCoursePeer::CLASS_GROUP_ID, $student->getClassGroupId()); $c->add(VCoursePeer::ACADEMIC_CALENDAR_ID, $student->getAcademicCalendarId()); $subjects = VCoursePeer::doSelectOne($c); $this->subject_count = VCoursePeer::doCount($c); if ($subject_count > 1) { $actions2 = array(array('name' => 'add', 'url' => 'student_score/createDev?student_id=' . $student->getId(), 'color' => 'black')); } #array_unshift($actions, array('name'=>'edit','url'=>'student_score/editDev?student_id='.$student->getId(), 'color'=>'black')); $c = new Criteria(); $c->add(GradeComponentPeer::GRADE_SPEC_ID, '20'); $c->add(GradeComponentPeer::PUBLISHED, '1'); $c->addAscendingOrderByColumn(GradeComponentPeer::NAME); $comps = GradeComponentPeer::doSelect($c); $comp_ids = array(); foreach ($comps as $comp) { $comp_ids[] = $comp->getId(); } $c = new Criteria(); $cton1 = $c->getNewCriterion(StudentCoursePeer::STUDENT_ID, $student->getId(), Criteria::IN); $cton2 = $c->getNewCriterion(StudentCoursePeer::CLASS_GROUP_ID, $student->getClassGroupId(), Criteria::IN); $cton3 = $c->getNewCriterion(StudentCoursePeer::ACADEMIC_CALENDAR_ID, $student->getAcademicCalendarId(), Criteria::IN); $cton4 = $c->getNewCriterion(StudentCoursePeer::GRADE_COMPONENT_ID, $comp_ids, Criteria::NOT_IN); $cton5 = $c->getNewCriterion(StudentCoursePeer::GRADE_COMPONENT_ID, '0', Criteria::NOT_IN); $cton1->addAnd($cton2); $cton2->addAnd($cton3); $cton3->addAnd($cton4); $cton4->addAnd($cton5); $c->add($cton4); $stu_courses = StudentCoursePeer::doSelect($c); $stu_count = StudentCoursePeer::doCount($c); $rpp = $this->getRequestParameter('max_per_page', 999); $pager2 = new sfPropelPager('GradeComponent', $rpp); $pager2->setCriteria($c); $pager2->setPage($this->getRequestParameter('page', 1)); $pager2->init(); $this->pager2 = $pager2; $this->actions2 = $actions2; }