public function executeListAbsenceEkskul() { $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo'); $employee = EmployeePeer::retrieveByPK($employee_id); $this->forward404Unless($employee); $counseling_id = $this->getRequestParameter('counseling_id'); $counseling = CounselingPeer::retrieveByPK($counseling_id); $this->forward404Unless($counseling); $accal_id = $this->getRequestParameter('accal_id'); $academic_calendar = AcademicCalendarPeer::retrieveByPK($accal_id); $this->forward404Unless($academic_calendar); $student_id = $this->getRequestParameter('student_id'); $student = StudentPeer::retrieveByPK($this->getRequestParameter('student_id')); $this->forward404Unless($student); $grade_component = GradeComponentPeer::retrieveByPK($this->getRequestParameter('id')); $this->forward404Unless($grade_component); $cw = new Criteria(); $cw->add(SchedulePeer::TYPE, 2); $cw->add(SchedulePeer::GRADE_COMPONENT_ID, $grade_component->getId()); $cw->add(SchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $schedule = SchedulePeer::doSelectOne($cw); $c = new Criteria(); $c->add(AbsenceEkskulPeer::SCHEDULE_ID, $schedule->getId()); $c->add(AbsenceEkskulPeer::STUDENT_ID, $student->getId()); $c->addAscendingOrderByColumn(AbsenceEkskulPeer::TIME); $this->sortAbsenceEkskul($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->filterAbsenceEkskul($c, $this->getRequestParameter('filters')); } } } $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'absence')); $this->getUser()->setAttribute('max_per_page', $rpp, 'absence'); $pager = new sfPropelPager('AbsenceEkskul', $rpp); $pager->setCriteria($c); $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'absence')); $this->getUser()->setAttribute('page', $page, 'absence'); $pager->setPage($page); $pager->init(); $this->pager = $pager; $actions = array(array('name' => 'back', 'url' => 'counseling_detail/listEkskul?student_id=' . $student->getId() . '&counseling_id=' . $counseling->getId() . '&accal_id=' . $academic_calendar->getId(), 'color' => 'black')); $this->actions = $actions; $actions2 = array(array('name' => '<span>' . $academic_calendar->toString() . '</span>', 'url' => 'counseling/listStudentByEmployee?accal_id=' . $academic_calendar->getId() . '&counseling_id=' . $counseling->getId() . '&employee_id=' . $employee_id, 'color' => 'sky')); array_push($actions2, array('name' => '<span>Ekskul Siswa</span>', 'url' => 'counseling_detail/listEkskul?student_id=' . $student->getId() . '&counseling_id=' . $counseling->getId() . '&accal_id=' . $academic_calendar->getId(), 'color' => 'sun', 'type' => 'direct')); $this->actions2 = $actions2; $this->subtitle = $student->getName() . ' - ' . $student->getClassGroup()->toString(); $this->counseling = $counseling; $this->counseling_id = $counseling_id; $this->student = $student; $this->student_id = $student_id; $this->grade_component = $grade_component; $this->academic_calendar = $academic_calendar; $this->employee = $employee; }
<td style="white-space: nowrap;width: 1%;"><?php echo $i + ($pager->getPage() - 1) * $pager->getMaxPerPage(); ?> </td> <td style="white-space: nowrap;width: 1%;" align="left" class='first'> <?php echo $grade_component->getName() ? $grade_component->getName() : 'n/a'; ?> </td> <td style="white-space: nowrap;width: 1%;" align="left"> <?php $c = new Criteria(); $c->add(SchedulePeer::TYPE, 2); $c->add(SchedulePeer::GRADE_COMPONENT_ID, $grade_component->getId()); $c->add(SchedulePeer::ACADEMIC_CALENDAR_ID, $accal); $schedule = SchedulePeer::doSelectOne($c); echo $schedule->getEmployee() ? $schedule->getEmployee()->getName() : '-'; ?> </td> <td style="white-space: nowrap;width: 1%;" align="left"> <?php $tutors = array(); foreach ($schedule->getScheduleTutors() as $cr) { $tutors[] = $cr->getEmployee() ? $cr->getEmployee()->getName() : '-'; } echo join("<br>", $tutors); ?> </td> <td style="white-space: nowrap;width: 1%;" align="left"> <?php
public function executeListAbsence() { $student_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo'); $student = StudentPeer::retrieveByPK($student_id); $this->forward404Unless($student); $grade_component = GradeComponentPeer::retrieveByPK($this->getRequestParameter('id')); $this->forward404Unless($grade_component); $academic_calendar = AcademicCalendarPeer::retrieveByPk($this->getRequestParameter('accal_id')); $this->forward404Unless($academic_calendar); $cw = new Criteria(); $cw->add(SchedulePeer::TYPE, 2); $cw->add(SchedulePeer::GRADE_COMPONENT_ID, $grade_component->getId()); $cw->add(SchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $schedule = SchedulePeer::doSelectOne($cw); $c = new Criteria(); $c->add(AbsenceEkskulPeer::SCHEDULE_ID, $schedule->getId()); $c->add(AbsenceEkskulPeer::STUDENT_ID, $student->getId()); $c->addAscendingOrderByColumn(AbsenceEkskulPeer::TIME); $this->sortAbsence($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->filterAbsence($c, $this->getRequestParameter('filters')); } } } $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'absence')); $this->getUser()->setAttribute('max_per_page', $rpp, 'absence'); $pager = new sfPropelPager('AbsenceEkskul', $rpp); $pager->setCriteria($c); $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'absence')); $this->getUser()->setAttribute('page', $page, 'absence'); $pager->setPage($page); $pager->init(); $this->pager = $pager; $filter_string = ""; if ($this->filters) { foreach ($this->filters as $key => $val) { $filter_string .= "&filters[{$key}]={$val}"; } $filter_string = preg_replace('/^&/', '', $filter_string); } $actions = array(array('name' => 'filter', 'color' => 'white')); $this->actions = $actions; if ($academic_calendar->getCourseModel() == 'A') { $actions2 = array(array('name' => '<span>Semester 1 ' . $academic_calendar->getParentName() . '</span>', 'url' => 'student_ekskul/list', 'color' => 'sun')); } else { $actions2 = array(array('name' => '<span>Semester 2 ' . $academic_calendar->getParentName() . '</span>', 'url' => 'student_ekskul/list2', 'color' => 'sun')); } array_push($actions2, array('name' => '<span>Absensi Ekskul</span>', 'url' => 'student_ekskul/listAbsence?id=' . $grade_component->getId() . '&accal_id=' . $academic_calendar->getId(), 'color' => 'sun', 'type' => 'direct')); $this->actions2 = $actions2; $this->grade_component = $grade_component; $this->academic_calendar = $academic_calendar; $this->subtitle = $student->getName() . ' - ' . $student->getClassGroup()->toString(); $this->student_id = $student_id; $this->student = $student; }