예제 #1
0
 public function executeShowAgenda()
 {
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $course_schedule_id = $course_schedule->getId();
     $class_agenda = ClassAgendaPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($class_agenda);
     $this->subtitle = $class_agenda->toString() . ' - id:' . $class_agenda->getId();
     $actions = array(array('name' => 'back', 'url' => 'rpt_course/listAgenda?course_id=' . $course_schedule->getId(), 'color' => 'black'));
     $this->actions = $actions;
     $actions2 = array(array('name' => '<span>Riwayat Agenda Kelas</span>', 'url' => 'rpt_course/listAgenda?course_id=' . $course_schedule->getId(), 'color' => 'sun', 'type' => 'direct'));
     array_unshift($actions2, array('name' => '<span>Riwayat Akademik</span>', 'url' => 'rpt_course/list', 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Riwayat Absensi Kelas</span>', 'url' => 'rpt_course/listAbsence?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Riwayat Jadwal Tugas/Ulangan/PR</span>', 'url' => 'rpt_course/listSched?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Riwayat Bimbingan Konseling</span>', 'url' => 'rpt_course/listCounseling?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Riwayat Penilaian</span>', 'url' => 'rpt_course/listScore?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     $this->actions2 = $actions2;
     $this->class_agenda = $class_agenda;
     $this->course_schedule = $course_schedule;
 }
예제 #2
0
 public function executeDelete()
 {
     $class_agenda = ClassAgendaPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($class_agenda);
     $ref_error = 0;
     foreach ($class_agenda->getRefCountMethods() as $ref) {
         $method = "count" . $ref['affix'];
         $count = $class_agenda->{$method}();
         if ($count > 0) {
             ++$ref_error;
             $this->getRequest()->setError('class_agenda/delete/' . sfInflector::camelize($ref['table']), $count);
         }
     }
     if ($ref_error > 0) {
         $this->getRequest()->setError('class_agenda/delete?id=' . $class_agenda->getId() . '&course_id=' . $this->getRequestParameter('course_id'), '_ERR_DELETE_ (' . $class_agenda->toString() . ' - id:' . $class_agenda->getId() . ')');
     } else {
         $class_agenda->delete();
     }
     #return $this->forward('class_agenda', 'list?id='.$class_agenda->getCourseScheduleId());
     return $this->redirect('class_agenda/list?id=' . $this->getRequestParameter('course_id'));
 }
예제 #3
0
 public function executeDeleteByEmployee()
 {
     $class_agenda = ClassAgendaPeer::retrieveByPK($this->getRequestParameter('agenda_id'));
     $this->forward404Unless($class_agenda);
     $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo');
     $employee = EmployeePeer::retrieveByPK($employee_id);
     $this->forward404Unless($employee);
     $this->employee = $employee;
     $student_absence = StudentAbsencePeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($student_absence);
     $ref_error = 0;
     foreach ($student_absence->getRefCountMethods() as $ref) {
         $method = "count" . $ref['affix'];
         $count = $student_absence->{$method}();
         if ($count > 0) {
             ++$ref_error;
             $this->getRequest()->setError('leave/deleteByEmployee/' . sfInflector::camelize($ref['table']), $count);
         }
     }
     if ($ref_error > 0) {
         $this->getRequest()->setError('leave/deleteByEmployee', '_ERR_DELETE_ (' . $student_absence->toString() . ' - id:' . $student_absence->getId() . ')');
     } else {
         $student_absence->delete();
     }
     return $this->redirect('leave/listByEmployee?agenda_id=' . $class_agenda->getId());
 }
예제 #4
0
 public function getClassAgendasJoinCourseSchedule($criteria = null, $con = null)
 {
     include_once 'lib/model/om/BaseClassAgendaPeer.php';
     if ($criteria === null) {
         $criteria = new Criteria();
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collClassAgendas === null) {
         if ($this->isNew()) {
             $this->collClassAgendas = array();
         } else {
             $criteria->add(ClassAgendaPeer::SUBJECT_GRADING_ID, $this->getId());
             $this->collClassAgendas = ClassAgendaPeer::doSelectJoinCourseSchedule($criteria, $con);
         }
     } else {
         $criteria->add(ClassAgendaPeer::SUBJECT_GRADING_ID, $this->getId());
         if (!isset($this->lastClassAgendaCriteria) || !$this->lastClassAgendaCriteria->equals($criteria)) {
             $this->collClassAgendas = ClassAgendaPeer::doSelectJoinCourseSchedule($criteria, $con);
         }
     }
     $this->lastClassAgendaCriteria = $criteria;
     return $this->collClassAgendas;
 }
예제 #5
0
 public function executeShowAgenda()
 {
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $academic_calendar = AcademicCalendarPeer::retrieveByPk($this->getRequestParameter('accal_id'));
     $this->forward404Unless($academic_calendar);
     $course_schedule_id = $course_schedule->getId();
     $class_agenda = ClassAgendaPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($class_agenda);
     $this->subtitle = $class_agenda->toString() . ' - id:' . $class_agenda->getId();
     $actions = array(array('name' => 'back', 'url' => 'employee_agenda/listAgenda?course_id=' . $course_schedule->getId() . '&accal_id=' . $academic_calendar->getId(), 'color' => 'black'));
     $this->actions = $actions;
     if ($course_schedule->getAcademicCalendar()->getCourseModel() == 'A') {
         $actions2 = array(array('name' => '<span>' . $course_schedule->getAcademicCalendar()->getName() . '</span>', 'url' => 'employee_agenda/list', 'color' => 'sun'));
     } else {
         $actions2 = array(array('name' => '<span>' . $course_schedule->getAcademicCalendar()->getName() . '</span>', 'url' => 'employee_agenda/list2', 'color' => 'sun'));
     }
     array_push($actions2, array('name' => '<span>Agenda Kelas</span>', 'url' => 'employee_agenda/listAgenda?course_id=' . $course_schedule->getId() . '&accal_id=' . $academic_calendar->getId(), 'color' => 'sun', 'type' => 'direct'));
     array_push($actions2, array('name' => '<span>Absensi</span>', 'url' => 'employee_agenda/listAbsence?course_id=' . $course_schedule->getId() . '&accal_id=' . $academic_calendar->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Jadwal Tugas/Ulangan/PR</span>', 'url' => 'employee_agenda/listTest?course_id=' . $course_schedule->getId() . '&accal_id=' . $academic_calendar->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Penilaian</span>', 'url' => 'employee_agenda/listScore?course_id=' . $course_schedule->getId() . '&accal_id=' . $academic_calendar->getId(), 'color' => 'sun'));
     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?course_id=' . $course_schedule->getId() . '&accal_id=' . $course_schedule->getAcademicCalendarId(), 'color' => 'sun'));
     }
     $this->actions2 = $actions2;
     $this->class_agenda = $class_agenda;
     $this->course_schedule = $course_schedule;
     $this->academic_calendar = $academic_calendar;
 }
예제 #6
0
 public function executeShowHistoryAgenda()
 {
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $course_schedule_id = $course_schedule->getId();
     $class_agenda = ClassAgendaPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($class_agenda);
     $this->subtitle = $class_agenda->toString() . ' - id:' . $class_agenda->getId();
     $actions = array();
     $this->actions = $actions;
     $actions2 = array(array('name' => '<span>' . $course_schedule->getAcademicCalendar()->getName() . '</span>', 'url' => 'student_agenda/listHistory', 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Agenda Kelas</span>', 'url' => 'student_agenda/listHistoryAgenda?course_id=' . $course_schedule->getId(), 'color' => 'sun', 'type' => 'direct'));
     array_push($actions2, array('name' => '<span>Absensi</span>', 'url' => 'student_agenda/listHistoryAbsence?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Jadwal Tugas/Ulangan/PR</span>', 'url' => 'student_agenda/listHistoryTest?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Penilaian</span>', 'url' => 'student_agenda/listHistoryScore?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     $this->actions2 = $actions2;
     $this->class_agenda = $class_agenda;
     $this->setTemplate('showAgenda');
     $this->course_schedule = $course_schedule;
 }
예제 #7
0
 public function getClassAgenda($con = null)
 {
     include_once 'lib/model/om/BaseClassAgendaPeer.php';
     if ($this->aClassAgenda === null && $this->class_agenda_id !== null) {
         $this->aClassAgenda = ClassAgendaPeer::retrieveByPK($this->class_agenda_id, $con);
     }
     return $this->aClassAgenda;
 }
예제 #8
0
 public static function doSelectJoinAllExceptStudentAbsence(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     ClassAbsencePeer::addSelectColumns($c);
     $startcol2 = ClassAbsencePeer::NUM_COLUMNS - ClassAbsencePeer::NUM_LAZY_LOAD_COLUMNS + 1;
     ClassAgendaPeer::addSelectColumns($c);
     $startcol3 = $startcol2 + ClassAgendaPeer::NUM_COLUMNS;
     $c->addJoin(ClassAbsencePeer::CLASS_AGENDA_ID, ClassAgendaPeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = ClassAbsencePeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = ClassAgendaPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj2 = new $cls();
         $obj2->hydrate($rs, $startcol2);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj2 = $temp_obj1->getClassAgenda();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addClassAbsence($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initClassAbsences();
             $obj2->addClassAbsence($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
예제 #9
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(ClassAgendaPeer::ID, $pks, Criteria::IN);
         $objs = ClassAgendaPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
예제 #10
0
 public function executeShowAgenda()
 {
     $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo');
     $employee = EmployeePeer::retrieveByPK($employee_id);
     $this->forward404Unless($employee);
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $course_schedule_id = $course_schedule->getId();
     $class_agenda = ClassAgendaPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($class_agenda);
     $this->subtitle = $class_agenda->toString() . ' - id:' . $class_agenda->getId();
     $actions = array(array('name' => 'back', 'url' => 'course_history/listAgenda?course_id=' . $course_schedule->getId(), 'color' => 'black'));
     $this->actions = $actions;
     $actions2 = array(array('name' => '<span>Riwayat Agenda Kelas</span>', 'url' => 'course_history/listAgenda?course_id=' . $course_schedule->getId(), 'color' => 'sun', 'type' => 'direct'));
     array_unshift($actions2, array('name' => '<span>Riwayat Akademik</span>', 'url' => 'course_history/list', 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Riwayat Absensi Kelas</span>', 'url' => 'course_history/listAbsence?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Riwayat Jadwal Tugas/Ulangan/PR</span>', 'url' => 'course_history/listSched?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Riwayat Bimbingan Konseling</span>', 'url' => 'course_history/listCounseling?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     $this->actions2 = $actions2;
     $this->class_agenda = $class_agenda;
     $this->course_schedule = $course_schedule;
 }
예제 #11
0
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = ClassAgendaPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setId($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setCourseScheduleId($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setClassSessionId($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setSubjectGradingId($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setActionType($arr[$keys[4]]);
     }
     if (array_key_exists($keys[5], $arr)) {
         $this->setDetail($arr[$keys[5]]);
     }
     if (array_key_exists($keys[6], $arr)) {
         $this->setStatus($arr[$keys[6]]);
     }
     if (array_key_exists($keys[7], $arr)) {
         $this->setMeetingPoint($arr[$keys[7]]);
     }
     if (array_key_exists($keys[8], $arr)) {
         $this->setDate($arr[$keys[8]]);
     }
     if (array_key_exists($keys[9], $arr)) {
         $this->setDay($arr[$keys[9]]);
     }
     if (array_key_exists($keys[10], $arr)) {
         $this->setStudentId($arr[$keys[10]]);
     }
     if (array_key_exists($keys[11], $arr)) {
         $this->setDescription($arr[$keys[11]]);
     }
     if (array_key_exists($keys[12], $arr)) {
         $this->setTotalStudent($arr[$keys[12]]);
     }
     if (array_key_exists($keys[13], $arr)) {
         $this->setStudentAbsenceId($arr[$keys[13]]);
     }
     if (array_key_exists($keys[14], $arr)) {
         $this->setClassGroupId($arr[$keys[14]]);
     }
     if (array_key_exists($keys[15], $arr)) {
         $this->setScheduleId($arr[$keys[15]]);
     }
     if (array_key_exists($keys[16], $arr)) {
         $this->setEmployeeId($arr[$keys[16]]);
     }
     if (array_key_exists($keys[17], $arr)) {
         $this->setBegin($arr[$keys[17]]);
     }
     if (array_key_exists($keys[18], $arr)) {
         $this->setEnd($arr[$keys[18]]);
     }
 }