public static function doSelectByDepartmentFromCurr() { $id = sfContext::getInstance()->getRequest()->getParameter('id'); $sc = SubjectCurrPeer::retrieveByPK($id); $curr = null; if ($sc) { $curr = $sc->getCurriculum(); } else { $curr_id = sfContext::getInstance()->getRequest()->getParameter('curr_id'); $curr = CurriculumPeer::retrieveByPK($curr_id); } if ($curr == null) { return array(); } $subject_currs = $curr->getSubjectCurrs(); $subject_ids = array(); foreach ($subject_currs as $sc) { $subject_ids[] = $sc->getSubjectId(); } $depts = $curr->getDepartment()->getIdRecurs(); $depts = explode(',', $depts); $c = new Criteria(); $c->add(SubjectPeer::DEPARTMENT_ID, $depts, Criteria::IN); $c->add(SubjectPeer::ID, $subject_ids, Criteria::NOT_IN); return SubjectPeer::doSelect($c); }
public function getSubjectCurr($con = null) { include_once 'lib/model/om/BaseSubjectCurrPeer.php'; if ($this->aSubjectCurr === null && $this->subject_curr_id !== null) { $this->aSubjectCurr = SubjectCurrPeer::retrieveByPK($this->subject_curr_id, $con); } return $this->aSubjectCurr; }
public function executeDelete() { $subject_curr_id = $this->getRequestParameter('subject_curr_id'); $subject_curr = SubjectCurrPeer::retrieveByPK($subject_curr_id); $this->forward404Unless($subject_curr); $this->subject_curr = $subject_curr; $subject_grading = SubjectGradingPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($subject_grading); $ref_error = 0; foreach ($subject_grading->getRefCountMethods() as $ref) { $method = "count" . $ref['affix']; $count = $subject_grading->{$method}(); if ($count > 0) { ++$ref_error; $this->getRequest()->setError('subject_grading/delete/' . sfInflector::camelize($ref['table']), $count); } } $c = new Criteria(); $c->add(StudentCoursePeer::SUBJECT_CURR_ID, $subject_grading->getSubjectCurrId()); $c->add(StudentCoursePeer::GRADE_COMPONENT_ID, $subject_grading->getGradeComponentId()); $c->addJoin(StudentRaportPeer::STUDENT_COURSE_ID, StudentCoursePeer::ID); $score_count = StudentRaportPeer::doCount($c); if ($ref_error > 0) { $this->getRequest()->setError('subject_grading/delete', '_ERR_DELETE_ (' . $subject_grading->toString() . ' - id:' . $subject_grading->getId() . ')'); } elseif ($score_count > 0) { $this->getRequest()->setError('subject_grading/delete/StudentScore', $score_count); $this->getRequest()->setError('subject_grading/delete', '_ERR_DELETE_ (' . $subject_grading->toString() . ' - id:' . $subject_grading->getId() . ')'); } else { $subject_grading->delete(); } $this->getRequest()->setParameter('subject_curr_id', $subject_curr_id); return $this->forward('subject_grading', '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'); $subject_curr_id = $this->getRequestParameter('subject_curr_id'); $subject_curr = SubjectCurrPeer::retrieveByPK($subject_curr_id); $this->forward404Unless($subject_curr); $academic_calendar_id = $this->getRequestParameter('accal_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); $course_sched = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id')); $this->forward404Unless($course_sched); $cur13_term = Cur13TermPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($cur13_term); $cur13_term->setCourseScheduleId($course_sched->getId()); $cur13_term->setCode($this->getRequestParameter('code')); $cur13_term->setName($this->getRequestParameter('name')); $cur13_term->setDescription($this->getRequestParameter('description')); #$cur13_term->setCur13KiId($this->getRequestParameter('cur13_ki_id')); $cur13_term->save(); $spkis = $this->getRequestParameter('spki'); $bobot = $this->getRequestParameter('bobot'); foreach ($spkis as $l => $spki) { $ct = new Criteria(); $ct->add(Cur13TermSpecPeer::CUR13_TERM_ID, $cur13_term->getId()); $ct->add(Cur13TermSpecPeer::GRADE_SPEC_ID, $l); $cur13_ts = Cur13TermSpecPeer::doSelectOne($ct); if ($cur13_ts == null) { $cur13_ts = new Cur13TermSpec(); } $cur13_ts->setCur13TermId($cur13_term->getId()); $cur13_ts->setGradeSpecId($l); $cur13_ts->setBobot($bobot[$l]); $cur13_ts->save(); } $delspkis = $this->getRequestParameter('delspki'); foreach ($delspkis as $l => $delspki) { $ct = new Criteria(); $ct->add(Cur13TermSpecPeer::CUR13_TERM_ID, $cur13_term->getId()); $ct->add(Cur13TermSpecPeer::GRADE_SPEC_ID, $l); $cur13_ts = Cur13TermSpecPeer::doSelectOne($ct); if ($cur13_ts != null) { $cur13_ts->delete(); } } return $this->redirect('cur13_term/getSubject?subject_curr_id=' . $subject_curr->getId() . '&accal_id=' . $academic_calendar->getId() . '&class_group_id=' . $class_group->getId()); }