?> </td> <td style="vertical-align: middle;"> <?php echo $course_schedule->getClassGroup() ? $course_schedule->getClassGroup()->toString() : '-'; ?> </td> <td style="vertical-align: middle;"> <?php $c = new Criteria(); $c->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId()); $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId()); $c->add(CourseSchedulePeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId()); $cds = CourseSchedulePeer::doSelectOne($c); $course_schedules = CourseSchedulePeer::retrieveByPK($cds->getId()); $tutors = array(); foreach ($course_schedules->getCourseScheduleTutors() as $cr) { $tutors[] = $cr->getEmployee() ? '· ' . $cr->getEmployee()->getName() : '-'; } echo join("<br>", $tutors); ?> </td> <td><?php $c = new Criteria(); $c->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId()); $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId()); $c->add(CourseSchedulePeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId()); $cds = CourseSchedulePeer::doSelect($c);
public function executeGetListScore() { $cur13Lib = new cur13Lib(); $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo'); $employee = EmployeePeer::retrieveByPK($employee_id); $this->forward404Unless($employee); $class_group_id = $this->getRequestParameter('class_group_id'); $class_group = ClassGroupPeer::retrieveByPK($class_group_id); $this->forward404Unless($class_group); $academic_calendar_id = $this->getRequestParameter('academic_calendar_id'); $academic_calendar = AcademicCalendarPeer::retrieveByPK($academic_calendar_id); $this->forward404Unless($academic_calendar); ## Cek apakah Guru Tersebut merupakan Walas dari kelas ini $cf = new Criteria(); $cf->add(CounselingTutorPeer::EMPLOYEE_ID, $employee->getId()); $cf->addJoin(CounselingPeer::ID, CounselingTutorPeer::COUNSELING_ID); $cf->add(CounselingPeer::CLASS_GROUP_ID, $class_group->getId()); $cf->add(CounselingPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getParent()); $counsel_tutor = CounselingPeer::doSelectOne($cf); $this->counsel_tutor = $counsel_tutor; $c = new Criteria(); if ($cur13Lib->isFullAccess($employee)) { $cf = new Criteria(); $cf->addJoin(CounselingPeer::ID, CounselingTutorPeer::COUNSELING_ID); $cf->add(CounselingPeer::CLASS_GROUP_ID, $class_group->getId()); $cf->add(CounselingPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getParent()); $counsel_tutor = CounselingPeer::doSelectOne($cf); $this->counsel_tutor = $counsel_tutor; $c = new Criteria(); $c->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $class_group->getId()); $c->addAscendingOrderByColumn(CourseSchedulePeer::CLASS_GROUP_ID); } else { $c = new Criteria(); $c->add(CourseScheduleTutorPeer::EMPLOYEE_ID, $employee->getId(), Criteria::IN); $c->addJoin(CourseSchedulePeer::ID, CourseScheduleTutorPeer::COURSE_SCHEDULE_ID); $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $class_group->getId()); $c->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); if (!$this->getRequest()->getParameter('sort') && !$this->getUser()->getAttribute('sort_field', null, 'course')) { $c->addJoin(SubjectPeer::ID, SubjectCurrPeer::SUBJECT_ID); $c->addJoin(CourseSchedulePeer::SUBJECT_CURR_ID, SubjectCurrPeer::ID); $c->addAscendingOrderByColumn(SubjectPeer::NAME); } } /* $c->add(CourseScheduleTutorPeer::EMPLOYEE_ID, $employee->getId(), Criteria::IN); $c->addJoin(CourseSchedulePeer::ID, CourseScheduleTutorPeer::COURSE_SCHEDULE_ID); $c->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $class_group->getId(), Criteria::IN); ## Khusus Home Session $cton1 = $c->getNewCriterion(CourseSchedulePeer::SUBJECT_CURR_ID, 84, Criteria::NOT_IN); $cton2 = $c->getNewCriterion(CourseSchedulePeer::SUBJECT_CURR_ID, 85, Criteria::NOT_IN); $cton1->addAnd($cton2); $c->add($cton1); if (!$this->getRequest()->getParameter('sort') && !$this->getUser()->getAttribute('sort_field', null, 'course')) { $c->addJoin(SubjectPeer::ID, SubjectCurrPeer::SUBJECT_ID); $c->addJoin(CourseSchedulePeer::SUBJECT_CURR_ID, SubjectCurrPeer::ID); $c->addAscendingOrderByColumn(SubjectPeer::NAME); } */ $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(), 'course')); $this->getUser()->setAttribute('max_per_page', $rpp, 'course'); $pager = new sfPropelPager('CourseSchedule', $rpp); $pager->setCriteria($c); $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'course')); $this->getUser()->setAttribute('page', $page, 'course'); $pager->setPage($page); $pager->init(); $this->pager = $pager; $cw = new Criteria(); $cw->add(CourseScheduleTutorPeer::EMPLOYEE_ID, $employee->getId(), Criteria::IN); $cw->addJoin(CourseSchedulePeer::ID, CourseScheduleTutorPeer::COURSE_SCHEDULE_ID); $cw->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cw->add(CourseSchedulePeer::CLASS_GROUP_ID, $class_group->getId(), Criteria::IN); ## Khusus Home Session $cton1 = $cw->getNewCriterion(CourseSchedulePeer::SUBJECT_CURR_ID, 84, Criteria::NOT_IN); $cton2 = $cw->getNewCriterion(CourseSchedulePeer::SUBJECT_CURR_ID, 85, Criteria::NOT_IN); $cton1->addAnd($cton2); $cw->add($cton1); $cw->addAscendingOrderByColumn(CourseSchedulePeer::ID); $cw->setLimit(1); $course_schedule = CourseSchedulePeer::doSelectOne($cw); ## Menangkap satu ID Siswa $ct = new Criteria(); $ct->add(StudentAccalPeer::CLASS_GROUP_ID, $class_group->getId()); $ct->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $ct->addJoin(StudentPeer::ID, StudentAccalPeer::STUDENT_ID); $ct->add(StudentPeer::STATUS, 2, Criteria::NOT_EQUAL); $ct->add(StudentPeer::STATUS, 3, Criteria::NOT_EQUAL); $ct->addAscendingOrderByColumn(StudentPeer::NAME); $ct->setLimit(1); $student = StudentPeer::doSelectOne($ct); $this->student = $student; $this->setTemplate('getCourse'); $actions = array(); $this->actions = $actions; if ($academic_calendar->getCourseModel() == 'A') { $this->term = ScoreRule::ONE; } else { $this->term = ScoreRule::TWO; } $this->course_schedule = $course_schedule; $this->subtitle = $academic_calendar->toString() . ' # ' . $class_group->toString(); $this->employee_id = $employee_id; $this->employee = $employee; $this->academic_calendar = $academic_calendar; $this->class_group = $class_group; }
public function executeSave() { $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); $bobotki3 = $this->getRequestParameter('bobotki3'); $bobotki4 = $this->getRequestParameter('bobotki4'); $kis = $this->getRequestParameter('ki'); foreach ($kis as $m => $ki) { $subs = $this->getRequestParameter('sub'); foreach ($subs as $k => $sub) { $c = new Criteria(); $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $k); $c->add(CourseSchedulePeer::SUBJECT_CURR_ID, $subject_curr->getId()); $c->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $course_sched = CourseSchedulePeer::doSelectOne($c); if ($course_sched) { $cur13_term = new Cur13Term(); $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($m); $cur13_term->save(); ##KI.3 if ($m == ScoreRule::THREE) { $spki3s = $this->getRequestParameter('spki3'); foreach ($spki3s as $l => $spki3) { $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($bobotki3[$l]); $cur13_ts->save(); } ##KI.4 } elseif ($m == ScoreRule::FOUR) { $spki4s = $this->getRequestParameter('spki4'); foreach ($spki4s as $l => $spki4) { $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($bobotki4[$l]); $cur13_ts->save(); } } } else { if (SF_ENVIRONMENT == 'dev') { echo 'course schedule not found'; die; } } } } return $this->redirect('cur13_term/getSubject?subject_curr_id=' . $subject_curr->getId() . '&accal_id=' . $academic_calendar->getId() . '&class_group_id=' . $class_group->getId()); }
public static function getNilaiKi4($studentAccal, $subjectCurrId) { $c = new Criteria(); $c->add(CourseSchedulePeer::SUBJECT_CURR_ID, $subjectCurrId); $c->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $studentAccal->getAcademicCalendarId()); $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $studentAccal->getClassGroupId()); $courseSchedule = CourseSchedulePeer::doSelectOne($c); if (!$courseSchedule) { return false; } $c = new Criteria(); $c->add(Cur13ReportPeer::STUDENT_ACCAL_ID, $studentAccal->getId(), Criteria::EQUAL); $c->add(Cur13ReportPeer::CUR13_KI_ID, ScoreRule::FOUR, Criteria::EQUAL); $c->add(Cur13ReportPeer::COURSE_SCHEDULE_ID, $courseSchedule->getId(), Criteria::EQUAL); return Cur13ReportPeer::doSelectOne($c); }
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; }
public function executeListShow() { $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo'); $employee = EmployeePeer::retrieveByPK($employee_id); $this->forward404Unless($employee); $this->employee_id = $employee_id; $c = new Criteria(); $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $this->getRequestParameter('accal_id')); $c->add(StudentCoursePeer::SUBJECT_CURR_ID, $this->getRequestParameter('subject_id')); $c->add(StudentCoursePeer::CLASS_GROUP_ID, $this->getRequestParameter('class_id')); $c->addJoin(VStudentActivePeer::ID, StudentCoursePeer::STUDENT_ID); $c->addAscendingOrderByColumn(VStudentActivePeer::NAME); $this->students = VStudentActivePeer::doSelect($c); $this->student_count = VStudentActivePeer::doCount($c); $subject_curr = SubjectCurrPeer::retrieveByPk($this->getRequestParameter('subject_id')); $this->forward404Unless($subject_curr); $class_group = ClassGroupPeer::retrieveByPk($this->getRequestParameter('class_id')); $this->forward404Unless($class_group); $academic_calendar = AcademicCalendarPeer::retrieveByPk($this->getRequestParameter('accal_id')); $this->forward404Unless($academic_calendar); $cw = new Criteria(); $cw->add(CourseSchedulePeer::SUBJECT_CURR_ID, $subject_curr->getId()); $cw->add(CourseSchedulePeer::CLASS_GROUP_ID, $class_group->getId()); $cw->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $course_schedule = CourseSchedulePeer::doSelectOne($cw); $cr = new Criteria(); $cr->add(GradeSpecPeer::PARENT, 1); $this->grade1 = GradeSpecPeer::doSelect($cr); $this->count1 = GradeSpecPeer::doCount($cr); $cr = new Criteria(); $cr->add(GradeSpecPeer::PARENT, 7); $this->grade2 = GradeSpecPeer::doSelect($cr); $this->count2 = GradeSpecPeer::doCount($cr); $cr = new Criteria(); $cr->add(GradeSpecPeer::PARENT, 30); $this->grade3 = GradeSpecPeer::doSelect($cr); $this->count3 = GradeSpecPeer::doCount($cr); $this->subject_curr = $subject_curr; $this->academic_calendar = $academic_calendar; $this->class_group = $class_group; $rpp = $this->getRequestParameter('max_per_page', 999); $pager = new sfPropelPager('Student', $rpp); $pager->setCriteria($c); $pager->setPage($this->getRequestParameter('page', 1)); $pager->init(); $this->pager = $pager; $actions2 = array(array('name' => '<span>Daftar Guru Kelas</span>', 'url' => 'employee_agenda/list', 'color' => 'sun')); array_push($actions2, array('name' => '<span>Agenda Kelas</span>', 'url' => 'employee_agenda/listAgenda?course_id=' . $course_schedule->getId(), 'color' => 'sun')); array_push($actions2, array('name' => '<span>Absensi</span>', 'url' => 'employee_agenda/listAbsence?course_id=' . $course_schedule->getId(), 'color' => 'sun')); array_push($actions2, array('name' => '<span>Jadwal Tugas/Ulangan/PR</span>', 'url' => 'employee_agenda/listTest?course_id=' . $course_schedule->getId(), 'color' => 'sun')); array_push($actions2, array('name' => '<span>Penilaian</span>', 'url' => 'course_detail/listShow?subject_id=' . $course_schedule->getSubjectCurrId() . '&class_id=' . $course_schedule->getClassGroupId() . '&accal_id=' . $course_schedule->getAcademicCalendarId(), 'color' => 'sun', 'type' => 'direct')); if ($course_schedule->getClassGroup()->getParent() == 70 || $course_schedule->getClassGroup()->getParent() == 85 || $course_schedule->getClassGroup()->getParent() == 117) { array_push($actions2, array('name' => '<span>Penilaian Tryout</span>', 'url' => 'course_detail/listTryout?subject_id=' . $course_schedule->getSubjectCurrId() . '&class_id=' . $course_schedule->getClassGroupId() . '&accal_id=' . $course_schedule->getAcademicCalendarId(), 'color' => 'sun')); } $this->actions2 = $actions2; }