public function executeDeleteAbsence() { $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($student_id); $this->forward404Unless($student); $date = $this->getRequestParameter('date'); $c = new Criteria(); $c->add(StudentAbsencePeer::STUDENT_ID, $student->getId()); $c->add(StudentAbsencePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $c->add(StudentAbsencePeer::CLASS_GROUP_ID, $counseling->getClassGroupId()); $c->add(StudentAbsencePeer::START, $date); $student_absences = StudentAbsencePeer::doSelect($c); foreach ($student_absences as $student_absence) { $student_absence->delete(); } return $this->redirect('counseling_sd/listAbsence?student_id=' . $student->getId() . '&counseling_id=' . $counseling->getId() . '&accal_id=' . $academic_calendar->getId()); }
public function executeGetListStudent() { $class_id = $this->getRequestParameter('class_group_id'); $class_group = ClassGroupPeer::retrieveByPK($class_id); $this->forward404Unless($class_group); $this->class_group = $class_group; $date = $this->getRequestParameter('date'); $student_ids = array(); $c = new Criteria(); $c->add(StudentAbsencePeer::START, $date); $stu_absence = StudentAbsencePeer::doSelect($c); foreach ($stu_absence as $sa) { $student_ids[] = $sa->getStudentId(); } $c = new Criteria(); $c->add(StudentPeer::CLASS_GROUP_ID, $class_group->getId(), Criteria::IN); $c->add(StudentPeer::ID, $student_ids, Criteria::NOT_IN); $c->addAscendingOrderByColumn(StudentPeer::NAME); $this->sortStudent($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->filterStudent($c, $this->getRequestParameter('filters')); } } } $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'student')); $this->getUser()->setAttribute('max_per_page', $rpp, 'student'); $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; $actions2 = array(array('name' => 'filter', 'color' => 'white')); $this->actions2 = $actions2; }
public function getStudentAbsences($criteria = null, $con = null) { include_once 'lib/model/om/BaseStudentAbsencePeer.php'; if ($criteria === null) { $criteria = new Criteria(); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collStudentAbsences === null) { if ($this->isNew()) { $this->collStudentAbsences = array(); } else { $criteria->add(StudentAbsencePeer::ACADEMIC_CALENDAR_ID, $this->getId()); StudentAbsencePeer::addSelectColumns($criteria); $this->collStudentAbsences = StudentAbsencePeer::doSelect($criteria, $con); } } else { if (!$this->isNew()) { $criteria->add(StudentAbsencePeer::ACADEMIC_CALENDAR_ID, $this->getId()); StudentAbsencePeer::addSelectColumns($criteria); if (!isset($this->lastStudentAbsenceCriteria) || !$this->lastStudentAbsenceCriteria->equals($criteria)) { $this->collStudentAbsences = StudentAbsencePeer::doSelect($criteria, $con); } } } $this->lastStudentAbsenceCriteria = $criteria; return $this->collStudentAbsences; }
public function executeDeleteAbsence() { $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id')); $this->forward404Unless($course_schedule); $attendance_class = AttendanceClassPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($attendance_class); $tanggal = $this->getRequestParameter('time'); $c = new Criteria(); $c->add(StudentAbsencePeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId()); $c->add(StudentAbsencePeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId()); $c->add(StudentAbsencePeer::START, $tanggal); $absences = StudentAbsencePeer::doSelect($c); foreach ($absences as $absence) { $absence->delete(); } $attendance_class->delete(); return $this->redirect('course_absence/listShow?course_id=' . $course_schedule->getId()); }
public static function retrieveByPKs($pks, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(); $criteria->add(StudentAbsencePeer::ID, $pks, Criteria::IN); $objs = StudentAbsencePeer::doSelect($criteria, $con); } return $objs; }
?> </td> <?php $c = new Criteria(); $c->add(StudentAbsencePeer::STUDENT_ID, $student->getId()); $c->add(StudentAbsencePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId()); $cton1 = $c->getNewCriterion(StudentAbsencePeer::START, $tahun . '-' . $title->getId() . '-1', Criteria::GREATER_EQUAL); $cton2 = $c->getNewCriterion(StudentAbsencePeer::START, $tahun . '-' . ($title->getId() + 1) . '-1', Criteria::LESS_THAN); $cton1->addAnd($cton2); $c->add($cton1); $c->addGroupByColumn(StudentAbsencePeer::START); $c->addGroupByColumn(StudentAbsencePeer::STUDENT_ID); $c->addGroupByColumn(StudentAbsencePeer::ACADEMIC_CALENDAR_ID); $c->addGroupByColumn(StudentAbsencePeer::CLASS_GROUP_ID); $sas = StudentAbsencePeer::doSelect($c); $absence = array(); if (count($sas)) { foreach ($sas as $sa) { $absence[$sa->getStart()] = $sa->getStatus(); $absence[$sa->getStatus()] = (array_key_exists($sa->getStatus(), $absence) ? $absence[$sa->getStatus()] : 0) + 1; } } ?> <?php $tgl = 0; while ($tgl <= 30) { $tgl++; ?>