Exemple #1
0
 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;
 }
Exemple #3
0
 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');
 }
Exemple #4
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');
     $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());
 }