Esempio n. 1
0
 public function filterAbsence($c, $filters)
 {
     $filters_key = array_keys($filters);
     foreach ($filters_key as $key) {
         $value = $filters[$key];
         if ($value == '' || $value == null) {
             continue;
         }
         $column = AttendanceClassPeer::getTableMap()->getColumn($key);
         $name = $column->getFullyQualifiedName();
         $creoleType = $column->getCreoleType();
         if ($creoleType == CreoleTypes::TIMESTAMP) {
             $c->add($name, $value, Criteria::LIKE);
         } else {
             if ($creoleType == CreoleTypes::DATE) {
                 $c->add($name, $value, Criteria::LIKE);
             } else {
                 if ($creoleType == CreoleTypes::INTEGER) {
                     $c->add($name, $value, Criteria::EQUAL);
                 } else {
                     if ($creoleType == CreoleTypes::VARCHAR || $creoleType == CreoleTypes::CHAR) {
                         $c->add($name, "%{$value}%", Criteria::LIKE);
                     }
                 }
             }
         }
     }
 }
Esempio n. 2
0
 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(AttendanceClassPeer::ID, $pks, Criteria::IN);
         $objs = AttendanceClassPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
Esempio n. 3
0
 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());
 }
Esempio n. 4
0
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = AttendanceClassPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setId($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setAcademicCalendarId($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setClassGroupId($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setDatetime($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setStatus($arr[$keys[4]]);
     }
 }
Esempio n. 5
0
echo input_hidden_tag('filter_subject', $filter_subject);
$c = new Criteria();
$c->add(VAttendancePeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
$c->add(VAttendancePeer::DATETIME, $tanggal);
$sas = VAttendancePeer::doSelect($c);
$stu_attendance = array();
if (count($sas)) {
    foreach ($sas as $sa) {
        $stu_attendance[$sa->getStudentId()] = (array_key_exists($sa->getStudentId(), $stu_attendance) ? $stu_attendance[$sa->getStudentId()] : 0) + 1;
    }
}
$cd = new Criteria();
$cd->add(AttendanceClassPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
$cd->add(AttendanceClassPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
$cd->add(AttendanceClassPeer::DATETIME, $tanggal);
$confirms = AttendanceClassPeer::doSelect($cd);
$cm = new Criteria();
$cm->add(StudentAbsencePeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
$cm->add(StudentAbsencePeer::START, $tanggal);
$cm->addGroupByColumn(StudentAbsencePeer::START);
$cm->addGroupByColumn(StudentAbsencePeer::STUDENT_ID);
$cm->addGroupByColumn(StudentAbsencePeer::ACADEMIC_CALENDAR_ID);
$cm->addGroupByColumn(StudentAbsencePeer::CLASS_GROUP_ID);
$stas = StudentabsencePeer::doSelect($cm);
$absence = array();
if (count($stas)) {
    foreach ($stas as $sta) {
        $absence[$sta->getStudentId()] = $sta->getStatus();
    }
}
?>