public function getCurriculum($con = null) { include_once 'lib/model/om/BaseCurriculumPeer.php'; if ($this->aCurriculum === null && $this->curriculum_id !== null) { $this->aCurriculum = CurriculumPeer::retrieveByPK($this->curriculum_id, $con); } return $this->aCurriculum; }
public static function doSelectByCurriculumFromAccal($accal_id) { $accal = AcademicCalendarPeer::retrieveByPK($accal_id); if ($accal == null) { return array(); } $curr = CurriculumPeer::retrieveByPK($accal->getCurriculumId()); #$subject_curriculums = $curr->getSubjectCurrs(); #$subject_ids = array(); #foreach ($subject_curriculums as $subject_curriculum) { # $subject_ids[] = $subject_curriculum->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::IN); #$c->addJoin(SubjectCurrPeer::SUBJECT_ID, SubjectPeer::ID); #$c->addJoin(SubjectCurrPeer::CURRICULUM_ID, CurriculumPeer::ID); #$c->addAscendingOrderByColumn(SubjectPeer::NAME); #return SubjectPeer::doSelect($c); $c = new Criteria(); $c->add(SubjectCurrPeer::CURRICULUM_ID, $curr->getId(), Criteria::IN); #$c->addJoin(SubjectCurrPeer::SUBJECT_ID, SubjectPeer::ID); $c->addAscendingOrderByColumn(SubjectCurrPeer::ID); return SubjectCurrPeer::doSelect($c); }
public function executeSave() { $curr_id = $this->getRequestParameter('curr_id'); $curr = CurriculumPeer::retrieveByPK($curr_id); $this->forward404Unless($curr); $this->curr = $curr; $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'); $params = array(); foreach (explode('&', $this->getRequestParameter('subject_list_ser')) as $p) { $p = explode('=', $p); $params[rawurldecode($p[0])][] = rawurldecode($p[1]); } if (array_key_exists('subjects', $params)) { foreach ($params['subjects'] as $su_id) { $subject_curr = new SubjectCurr(); $subject_curr->setSubjectId($su_id); $subject_curr->setCurriculumId($this->getRequestParameter('curriculum_id')); $subject_curr->save(); } } return $this->redirect('subject_curr/list?curr_id=' . $curr->getId()); }
public function executeGetListForCourse() { $accal_id = $this->getRequestParameter('academic_calendar_id'); $accal = AcademicCalendarPeer::retrieveByPK($accal_id); $this->forward404Unless($accal); $this->accal = $accal; $curr = CurriculumPeer::retrieveByPK($accal->getCurriculumId()); $this->curr = $curr; $subject_curriculums = $curr->getSubjectCurrs(); $subject_ids = array(); foreach ($subject_curriculums as $subject_curriculum) { $subject_ids[] = $subject_curriculum->getSubjectId(); } $c = new Criteria(); $c->add(SubjectPeer::DEPARTMENT_ID, $curr->getDepartmentId(), Criteria::IN); $c->add(SubjectPeer::ID, $subject_ids, Criteria::IN); $c->addJoin(SubjectCurrPeer::SUBJECT_ID, SubjectPeer::ID); $c->addAscendingOrderByColumn(SubjectCurrPeer::SUBJECT_ID); $this->sort($c); if ($this->getRequest()->hasParameter('filters')) { $filters = $this->getRequestParameter('filters'); if ($filters == 'clear') { $this->filters = null; } else { $defined_filter = false; foreach ($filters as $f) { if (is_array($f)) { if (strlen($f['from']) > 0 || strlen($f['to']) > 0) { $defined_filter = true; break; } } else { if ($f != null && $f != '') { $defined_filter = true; break; } } } if ($defined_filter) { $this->filters = $filters; $this->filter($c, $this->getRequestParameter('filters')); } } } $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'subject_curriculum')); $this->getUser()->setAttribute('max_per_page', $rpp, 'subject_curriculum'); $pager = new sfPropelPager('SubjectCurr', $rpp); $pager->setCriteria($c); $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'subject_curriculum')); $this->getUser()->setAttribute('page', $page, 'subject_curriculum'); $pager->setPage($page); $pager->init(); $this->pager = $pager; $actions2 = array(array('name' => 'filter', 'color' => 'white')); $this->actions2 = $actions2; }
public function executeEditSubject() { $rule_id = $this->getRequestParameter('rule_id'); $score_rule = ScoreRulePeer::retrieveByPK($rule_id); $this->forward404Unless($score_rule); $curr = CurriculumPeer::retrieveByPK($score_rule->getAcademicCalendar()->getCurriculumId()); $this->curr = $curr; $subject_curriculums = $curr->getSubjectCurrs(); $subject_ids = array(); foreach ($subject_curriculums as $subject_curriculum) { $subject_ids[] = $subject_curriculum->getSubjectId(); } $c = new Criteria(); $c->add(SubjectPeer::DEPARTMENT_ID, $curr->getDepartmentId(), Criteria::IN); $c->add(SubjectPeer::ID, $subject_ids, Criteria::IN); $c->addJoin(SubjectCurrPeer::SUBJECT_ID, SubjectPeer::ID); $c->addAscendingOrderByColumn(SubjectCurrPeer::SUBJECT_ID); $subject_currs = SubjectCurrPeer::doSelect($c); $subj_ids = array(); foreach ($subject_currs as $subject_curr) { $subj_ids[$subject_curr->getId()] = $subject_curr->getSubject()->getName(); } $this->subj_ids = $subj_ids; /* foreach ($subject_currs as $sc) { $cm = new Criteria(); $cm->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $sc->getId()); $sc->rule = ScoreRuleSubjectPeer::doSelectOne($cm); } */ $sub_ids = array(); foreach ($subject_currs as $sub_curr) { $sub_ids = $sub_curr->getId(); } $actions = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value"))); array_push($actions, array('name' => 'cancel', 'url' => 'score_rule_new/listSubject?rule_id=' . $score_rule->getId(), 'color' => 'white')); $subtitle = $score_rule->toName(); $this->subtitle = $subtitle; $this->actions = $actions; $this->subject_currs = $subject_currs; $this->type = 'add'; $this->sub_ids = $sub_ids; $this->score_rule = $score_rule; $actions2 = array(array('name' => '<span>Aturan Penilaian</span>', 'url' => 'score_rule_new/list', 'color' => 'sun')); array_push($actions2, array('name' => '<span>Daftar Mata Pelajaran</span>', 'url' => 'score_rule_new/listSubject?rule_id=' . $score_rule->getId(), 'color' => 'sky', 'type' => 'direct')); array_push($actions2, array('name' => '<span>Daftar Kategori Penilaian</span>', 'url' => 'score_rule_new/listObject?rule_id=' . $score_rule->getId(), 'color' => 'sun')); $this->actions2 = $actions2; }
public function executeGetByCurriculum() { $curr_id = $this->getRequestParameter('curriculum_id'); $curr = CurriculumPeer::retrieveByPK($curr_id); $this->forward404Unless($curr); $c = new Criteria(); $c->add(AcademicCalendarPeer::CURRICULUM_ID, $curr_id); $objs = AcademicCalendarPeer::doSelectFiltered($c); $array = array(); if ($this->getRequestParameter('include_blank') == 'true') { $array[] = ''; } foreach ($objs as $obj) { $array[$obj->getId()] = $obj->toString(); } $this->content = $array; $this->setTemplate('buildOptions'); }
public function executeList() { $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->getContext()->getUser()->getAttribute('user_id', null, 'bo'); $student = StudentPeer::retrieveByPK($student__id); $this->forward404Unless($student); $curr_id = $student->getCurriculumId(); $this->getContext()->getRequest()->setParameter('curr_id', $curr_id); $c = new Criteria(); $c->add(SubjectCurrPeer::CURRICULUM_ID, $curr_id); $this->sort($c); if ($this->getRequest()->hasParameter('filters')) { $filters = $this->getRequestParameter('filters'); if ($filters == 'clear') { $this->filters = null; } else { $defined_filter = false; foreach ($filters as $f) { if ($f != null && $f != '') { $defined_filter = true; break; } } if ($defined_filter) { $this->filters = $filters; $this->filter($c, $this->getRequestParameter('filters')); } } } $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'subject_curr_s')); $this->getUser()->setAttribute('max_per_page', $rpp, 'subject_curr_s'); $pager = new sfPropelPager('SubjectCurr', $rpp); $pager->setCriteria($c); $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'subject_curr_s')); $this->getUser()->setAttribute('page', $page, 'subject_curr_s'); $pager->setPage($page); $pager->init(); $this->pager = $pager; $actions = array(array('name' => 'filter', 'color' => 'white')); if ($acl->getAddPriv() && $acl->getEditPriv()) { array_unshift($actions, array('name' => 'edit', 'url' => 'subject_curr_s/editAll?curr_id=' . $curr_id, 'color' => 'blue')); } if ($acl->getAddPriv()) { array_unshift($actions, array('name' => 'add', 'url' => 'subject_curr_s/create?curr_id=' . $curr_id, 'color' => 'green')); } $this->curr = CurriculumPeer::retrieveByPK($curr_id); $filter_string = ""; if ($this->filters) { foreach ($this->filters as $key => $val) { $filter_string .= "&filters[{$key}]={$val}"; } $filter_string = preg_replace('/^&/', '', $filter_string); } array_unshift($actions, array('name' => '_AS_CSV_', 'url' => "subject_curr_s/listAsCSV?curr_id={$curr_id}&{$filter_string}", 'color' => 'white', 'type' => 'direct')); array_unshift($actions, array('name' => '_AS_PDF_', 'url' => "subject_curr_s/listAsPDF?curr_id={$curr_id}&{$filter_string}", 'color' => 'white', 'type' => 'direct')); $this->actions = $actions; $this->student = $student; }
public function executeDelete() { $curr_id = $this->getRequestParameter('curr_id'); $this->forward404Unless($curr_id); $this->curr = CurriculumPeer::retrieveByPK($curr_id); $subject_prereq = SubjectPrereqPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($subject_prereq); $ref_error = 0; foreach ($subject_prereq->getRefCountMethods() as $ref) { $method = "count" . $ref['affix']; $count = $subject_prereq->{$method}(); if ($count > 0) { ++$ref_error; $this->getRequest()->setError('subject_prereq/delete/' . sfInflector::camelize($ref['table']), $count); } } if ($ref_error > 0) { $this->getRequest()->setError('subject_prereq/delete', '_ERR_DELETE_ (' . $subject_prereq->toString() . ' - id:' . $subject_prereq->getId() . ')'); } else { $subject_prereq->delete(); } $this->getRequest()->setParameter('curr_id', $this->curr->getId()); return $this->forward('subject_prereq', 'list'); }
public function executeEdit() { $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_add = $acl->getAddPriv() == 1; $this->can_edit = $acl->getEditPriv() == 1; $this->can_remove = $acl->getRemovePriv() == 1; $course_schedule = CourseSchedulePeer::retrieveByPK($this->getRequestParameter('id')); $this->forward404Unless($course_schedule); $this->subtitle = $course_schedule->getClassGroup()->getName() . ' - ' . $course_schedule->getSubjectCurr()->getSubject()->getName() . ' (id:' . $course_schedule->getId() . ')'; $actions = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value"))); if ($acl->getRemovePriv()) { array_push($actions, array('name' => 'delete', 'url' => 'course_sched/delete?id=' . $course_schedule->getId(), 'color' => 'red')); } array_push($actions, array('name' => 'cancel', 'url' => 'course_sched/list', 'color' => 'black')); $this->type = 'edit'; $this->course_schedule = $course_schedule; $this->actions = $actions; $curr = CurriculumPeer::retrieveByPK($course_schedule->getSubjectCurr()->getCurriculumId()); $this->curr = $curr; $subject_curriculums = $curr->getSubjectCurrs(); $subject_ids = array(); foreach ($subject_curriculums as $subject_curriculum) { $subject_ids[$subject_curriculum->getId()] = $subject_curriculum->getSubject()->getName(); } $this->subject_ids = $subject_ids; $this->subject_currs = $subject_ids; $this->selected_subject_curr = $course_schedule->getSubjectCurr()->getSubjectId(); $subject_id = $course_schedule->getSubjectCurr()->getSubjectId(); $c = new Criteria(); $c->add(CourseScheduleTutorPeer::COURSE_SCHEDULE_ID, $course_schedule->getId()); $c->addJoin(CourseScheduleTutorPeer::EMPLOYEE_ID, TeachingCompetencyPeer::EMPLOYEE_ID); $c->addJoin(TeachingCompetencyPeer::EMPLOYEE_ID, EmployeePeer::ID); $objs = EmployeePeer::doSelect($c); $employee_ids = array(); foreach ($objs as $o) { $employee_ids[] = $o->getId(); } $c = new Criteria(); $c->add(TeachingCompetencyPeer::SUBJECT_ID, $subject_id, Criteria::IN); $c->add(TeachingCompetencyPeer::EMPLOYEE_ID, $employee_ids, Criteria::NOT_IN); $c->addJoin(TeachingCompetencyPeer::EMPLOYEE_ID, EmployeePeer::ID); $c->addAscendingOrderByColumn(EmployeePeer::NAME); $lectors = EmployeePeer::doSelect($c); $this->lectors = $lectors; $cw = new Criteria(); $cw->add(CourseScheduleDetailPeer::COURSE_SCHEDULE_ID, $course_schedule->getId()); $cw->addAscendingOrderByColumn(CourseScheduleDetailPeer::DAY); $rows = CourseScheduleDetailPeer::doSelect($cw); $row_count = CourseScheduleDetailPeer::doCount($cw); $actions3 = array(); array_unshift($actions3, array('name' => 'add', 'url' => 'course_sched/createSchedule?id=' . $course_schedule->getId(), 'color' => 'black')); $this->actions3 = $actions3; $this->rows = $rows; $this->row_count = $row_count; }
public function executeEdit() { $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_add = $acl->getAddPriv() == 1; $this->can_edit = $acl->getEditPriv() == 1; $this->can_remove = $acl->getRemovePriv() == 1; $c = new Criteria(); $c->add(VCoursePeer::ID, $this->getRequestParameter('id')); $c_schedule = VCoursePeer::doSelectOne($c); $this->forward404Unless($c_schedule); $cw = new Criteria(); $cw->add(CourseScheduleDetailPeer::ID, $c_schedule->getId()); $csd = CourseScheduleDetailPeer::doSelectOne($c); $c = new Criteria(); $c->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $c_schedule->getAcademicCalendarId()); $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $c_schedule->getClassGroupId()); $c->add(CourseSchedulePeer::SUBJECT_CURR_ID, $c_schedule->getSubjectCurrId()); $course_schedule = CourseSchedulePeer::doSelectOne($c); #$course_schedule = CourseSchedulePeer::retrieveByPK($csd->getCourseScheduleId()); #$this->forward404Unless($course_schedule); $this->subtitle = $c_schedule->getClassGroup()->getName() . ' - ' . $c_schedule->getSubjectCurr()->getSubject()->getName() . ' (id:' . $c_schedule->getId() . ')'; $actions = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value"))); if ($acl->getRemovePriv()) { array_push($actions, array('name' => 'delete', 'url' => 'course_schedule/delete?id=' . $c_schedule->getId(), 'color' => 'red')); } array_push($actions, array('name' => 'cancel', 'url' => 'course_schedule/list', 'color' => 'black')); $this->type = 'edit'; $this->course_schedule = $course_schedule; $this->c_schedule = $c_schedule; $this->actions = $actions; $curr = CurriculumPeer::retrieveByPK($c_schedule->getSubjectCurr()->getCurriculumId()); $this->curr = $curr; $subject_curriculums = $curr->getSubjectCurrs(); $subject_ids = array(); foreach ($subject_curriculums as $subject_curriculum) { $subject_ids[$subject_curriculum->getSubjectId()] = $subject_curriculum->getSubject()->getName(); } $this->subject_ids = $subject_ids; $this->subject_currs = $subject_ids; $this->selected_subject_curr = $c_schedule->getSubjectCurr()->getSubjectId(); $subject_id = $c_schedule->getSubjectCurr()->getSubjectId(); $c = new Criteria(); $c->add(CourseScheduleTutorPeer::COURSE_SCHEDULE_ID, $course_schedule->getId()); $c->addJoin(CourseScheduleTutorPeer::EMPLOYEE_ID, TeachingCompetencyPeer::EMPLOYEE_ID); $c->addJoin(TeachingCompetencyPeer::EMPLOYEE_ID, EmployeePeer::ID); $objs = EmployeePeer::doSelect($c); $employee_ids = array(); foreach ($objs as $o) { $employee_ids[] = $o->getId(); } $c = new Criteria(); $c->add(TeachingCompetencyPeer::SUBJECT_ID, $subject_id, Criteria::IN); $c->add(TeachingCompetencyPeer::EMPLOYEE_ID, $employee_ids, Criteria::NOT_IN); $c->addJoin(TeachingCompetencyPeer::EMPLOYEE_ID, EmployeePeer::ID); $c->addAscendingOrderByColumn(EmployeePeer::NAME); $lectors = EmployeePeer::doSelect($c); $this->lectors = $lectors; $c = new Criteria(); $c->add(CourseScheduleDetailPeer::COURSE_SCHEDULE_ID, $course_schedule->getId()); $c->addDescendingOrderByColumn(CourseScheduleDetailPeer::ID); $this->sortDetail($c); if ($this->getRequest()->hasParameter('filters')) { $filters = $this->getRequestParameter('filters'); if ($filters == 'clear') { $this->filters = null; } else { $defined_filter = false; foreach ($filters as $f) { if (is_array($f)) { if (strlen($f['from']) > 0 || strlen($f['to']) > 0) { $defined_filter = true; break; } } else { if ($f != null && $f != '') { $defined_filter = true; break; } } } if ($defined_filter) { $this->filters = $filters; $this->filterDetail($c, $this->getRequestParameter('filters')); } } } $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'course_schedule_detail')); $this->getUser()->setAttribute('max_per_page', $rpp, 'course_schedule_detail'); $pager = new sfPropelPager('CourseScheduleDetail', $rpp); $pager->setCriteria($c); $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'course_schedule_detail')); $this->getUser()->setAttribute('page', $page, 'course_schedule_detail'); $pager->setPage($page); $pager->init(); $this->pager = $pager; $actions3 = array(array('name' => 'filter', 'color' => 'white')); array_unshift($actions3, array('name' => 'add', 'url' => 'course_schedule/createSchedule2?course_id=' . $course_schedule->getId() . '&vcourse_id=' . $c_schedule->getId(), 'color' => 'black')); $this->actions3 = $actions3; }