public function executeSaveScoreEks() { $counsel_id = $this->getRequestParameter('counseling_id'); $counseling = CounselingPeer::retrieveByPK($counsel_id); $this->forward404Unless($counseling); $this->counseling = $counseling; $accal_id = $this->getRequestParameter('accal_id'); $academic_calendar = AcademicCalendarPeer::retrieveByPK($accal_id); $this->forward404Unless($academic_calendar); $this->academic_calendar = $academic_calendar; $schedule = SchedulePeer::retrieveByPk($this->getRequestParameter('schedule_id')); $this->forward404Unless($schedule); $this->schedule = $schedule; $schedule_detail = ScheduleDetailPeer::retrieveByPk($this->getRequestParameter('detail_id')); $this->forward404Unless($schedule_detail); $this->schedule_detail = $schedule_detail; $cj = new Criteria(); $cj->add(GradeConversionPeer::DEPARTMENT_ID, $academic_calendar->getDepartmentId()); $cj->add(GradeConversionPeer::GRADE_CONVERSION_TEMPLATE_ID, 19); $cj->add(GradeConversionPeer::TYPE_CONVERSION, ScoreRule::FIVE); $cj->addDescendingOrderByColumn(GradeConversionPeer::MAX_VALUE); $grade_convs = GradeConversionPeer::doSelect($cj); $scores = $this->getRequestParameter('score'); foreach ($scores as $k => $score) { if ($score != null) { if ($score != '-') { $ids = split('_', $k); ## $ids[0] = Cur13 Ekskul Id ## $ids[1] = Grade Spec Id $c = new Criteria(); $c->add(Cur13GradeEkskulPeer::CUR13_EKSKUL_ID, $ids[0]); $c->add(Cur13GradeEkskulPeer::GRADE_SPEC_ID, $ids[1]); $cur13_grade_ekskul = Cur13GradeEkskulPeer::doSelectOne($c); if ($cur13_grade_ekskul == null) { $cur13_grade_ekskul = new Cur13GradeEkskul(); } $cur13_grade_ekskul->setCur13EkskulId($ids[0]); $cur13_grade_ekskul->setGradeSpecId($ids[1]); $cur13_grade_ekskul->setGrade($score); $cur13_grade_ekskul->save(); $cc = new Criteria(); $cc->add(Cur13GradeEkskulPeer::CUR13_EKSKUL_ID, $ids[0]); $cur13_grades = Cur13GradeEkskulPeer::doSelect($cc); if ($cur13_grades) { $total = 0; $count = 0; foreach ($cur13_grades as $cur13_grade) { $count += 1; $total += $cur13_grade->getGrade(); } $avg = round($total / $count); $scale = number_format($avg / 100 * 4, 2); $remark = ''; foreach ($grade_convs as $gc) { if ($avg >= $gc->getMinValue() && $avg < $gc->getMaxValue() + 1) { $remark = $gc->getName(); } } $cur13_ekskul = Cur13EkskulPeer::retrieveByPK($ids[0]); $cur13_ekskul->setGradeScale($scale); $cur13_ekskul->setGrade($avg); $cur13_ekskul->setRemark($remark); $cur13_ekskul->save(); } } else { $ids = split('_', $k); ## $ids[0] = Cur13 Ekskul Id ## $ids[1] = Grade Spec Id $c = new Criteria(); $c->add(Cur13GradeEkskulPeer::CUR13_EKSKUL_ID, $ids[0]); $c->add(Cur13GradeEkskulPeer::GRADE_SPEC_ID, $ids[1]); $cur13_grade_ekskul = Cur13GradeEkskulPeer::doSelectOne($c); if ($cur13_grade_ekskul != null) { $cur13_grade_ekskul->delete(); } } } } return $this->redirect('counseling_sd/listEksStu?id=' . $schedule->getId() . '&detail_id=' . $schedule_detail->getId() . '&accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId()); }
public function executeListStudentAll() { $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo'); $employee = EmployeePeer::retrieveByPK($employee_id); $this->forward404Unless($employee); $schedule = SchedulePeer::retrieveByPk($this->getRequestParameter('schedule_id')); $this->forward404Unless($schedule); $schedule_detail = ScheduleDetailPeer::retrieveByPk($this->getRequestParameter('detail_id')); $this->forward404Unless($schedule_detail); $schedule_id = $schedule->getId(); $tanggal = $this->getRequestParameter('time'); $c = new Criteria(); $c->add(AbsenceEkskulPeer::SCHEDULE_ID, $schedule->getId()); $c->add(AbsenceEkskulPeer::SCHEDULE_DETAIL_ID, $schedule_detail->getId()); $c->add(AbsenceEkskulPeer::TIME, $this->getRequestParameter('time')); $c->addJoin(StudentPeer::ID, AbsenceEkskulPeer::STUDENT_ID); $c->addAscendingOrderByColumn(StudentPeer::NAME); $rpp = $this->getRequestParameter('max_per_page', 999); $pager = new sfPropelPager('Student', $rpp); $pager->setCriteria($c); $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'student')); $this->getUser()->setAttribute('page', $page, 'student'); $pager->setPage($page); $pager->init(); $this->pager = $pager; $actions = array(array('name' => 'kembali', 'url' => 'course_ekskul/listAbsence?id=' . $schedule->getId() . '&detail_id=' . $schedule_detail->getId(), 'color' => 'black')); $this->actions = $actions; $actions2 = array(array('name' => '<span>Peserta Ekskul</span>', 'url' => 'course_ekskul/list?id=' . $schedule->getId() . '&detail_id=' . $schedule_detail->getId(), 'color' => 'sun')); array_unshift($actions2, array('name' => '<span>Detail Jadwal Ekskul</span>', 'url' => 'course_ekskul/listDetail?id=' . $schedule->getId(), 'color' => 'sun')); array_push($actions2, array('name' => '<span>Absensi Ekskul</span>', 'url' => 'course_ekskul/listAbsence?id=' . $schedule->getId() . '&detail_id=' . $schedule_detail->getId(), 'color' => 'sun', 'type' => 'direct')); array_push($actions2, array('name' => '<span>Penilaian Ekskul</span>', 'url' => 'course_ekskul/listScore?id=' . $schedule->getId() . '&detail_id=' . $schedule_detail->getId(), 'color' => 'sun')); $this->actions2 = $actions2; $this->subtitle = $schedule->getGradeComponent()->toString() . ' - ' . $schedule_detail->getDayString(); $cw = new Criteria(); $cw->add(AbsenceEkskulPeer::SCHEDULE_ID, $schedule->getId()); $cw->add(AbsenceEkskulPeer::SCHEDULE_DETAIL_ID, $schedule_detail->getId()); $cw->add(AbsenceEkskulPeer::TIME, $tanggal); $absence_course = AbsenceEkskulPeer::doSelectOne($cw); $this->absence_course = $absence_course; $this->schedule = $schedule; $this->schedule_detail = $schedule_detail; $this->schedule_id = $schedule_id; $this->employee = $employee; $this->tanggal = $tanggal; }
public function executeDeleteSchedule() { $schedule = SchedulePeer::retrieveByPk($this->getRequestParameter('schedule_id')); $this->schedule = $schedule; $cs_detail = ScheduleDetailPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($cs_detail); $cs_detail->delete(); return $this->redirect('extracurricular/edit?id=' . $schedule->getId()); }
public function executeSaveScoreSmp() { $accal_id = $this->getRequestParameter('accal_id'); $academic_calendar = AcademicCalendarPeer::retrieveByPK($accal_id); $this->forward404Unless($academic_calendar); $this->academic_calendar = $academic_calendar; $schedule = SchedulePeer::retrieveByPk($this->getRequestParameter('schedule_id')); $this->forward404Unless($schedule); $this->schedule = $schedule; $schedule_detail = ScheduleDetailPeer::retrieveByPk($this->getRequestParameter('detail_id')); $this->forward404Unless($schedule_detail); $this->schedule_detail = $schedule_detail; $class_group = ClassGroupPeer::retrieveByPK($this->getRequestParameter('class_id')); $this->forward404Unless($class_group); $scores = $this->getRequestParameter('score'); foreach ($scores as $k => $score) { if ($score != null) { $cr = new Criteria(); $cr->add(StudentRaportPeer::GRADE_COMPONENT_ID, $schedule->getGradeComponentId()); $cr->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $schedule->getAcademicCalendarId()); $cr->add(StudentRaportPeer::SCHEDULE_DETAIL_ID, $schedule_detail->getId()); $cr->add(StudentRaportPeer::SCHEDULE_ID, $schedule->getId()); $cr->add(StudentRaportPeer::CLASS_GROUP_ID, $class_group->getId()); $cr->add(StudentRaportPeer::STUDENT_ID, $k); $sc = StudentRaportPeer::doSelectOne($cr); $sc->setStudentId($k); $sc->setAcademicCalendarId($schedule->getAcademicCalendarId()); $sc->setGradeComponentId($schedule->getGradeComponentId()); $sc->setClassGroupId($class_group->getId()); $sc->setScheduleId($schedule->getId()); $sc->setScheduleDetailId($schedule_detail->getId()); $sc->setGrade($score); $sc->save(); } } return $this->redirect('extracurricular_new/listEksStu?id=' . $schedule->getId() . '&detail_id=' . $schedule_detail->getId() . '&accal_id=' . $academic_calendar->getId()); }