Exemple #1
0
 public function executeListByEmployee2()
 {
     $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo');
     $employee = EmployeePeer::retrieveByPK($employee_id);
     $this->forward404Unless($employee);
     $dept = $this->getContext()->getUser()->getAttribute('department_id', null, 'bo');
     $cr = new Criteria();
     $cr->add(AcademicCalendarPeer::DEPARTMENT_ID, $dept);
     $cr->add(AcademicCalendarPeer::COURSE_MODEL, 'C');
     $cr->add(AcademicCalendarPeer::CURR_SYSTEM_ID, 1);
     $parent = AcademicCalendarPeer::doSelectOne($cr);
     $cw = new Criteria();
     $cw->add(AcademicCalendarPeer::PARENT, $parent->getId());
     $cw->add(AcademicCalendarPeer::COURSE_MODEL, 'B');
     $cw->add(AcademicCalendarPeer::DEPARTMENT_ID, $dept);
     $child = AcademicCalendarPeer::doSelectOne($cw);
     if ($employee->getStaffTypeId() == 13 || $employee->getStaffTypeId() == 14) {
         $c = new Criteria();
         $cton1 = $c->getNewCriterion(SchedulePeer::TYPE, Schedule::IS_EKSKUL, Criteria::IN);
         $cton2 = $c->getNewCriterion(SchedulePeer::ACADEMIC_CALENDAR_ID, $child->getId(), Criteria::IN);
         $cton1->addAnd($cton2);
         $c->add($cton1);
     } else {
         /**
         			$c = new Criteria();
         			$cton1 = $c->getNewCriterion(SchedulePeer::EMPLOYEE_ID, $employee->getId(), Criteria::IN);
         			$cton2 = $c->getNewCriterion(SchedulePeer::TYPE, Schedule::IS_EKSKUL, Criteria::IN);
         			$cton3 = $c->getNewCriterion(SchedulePeer::ACADEMIC_CALENDAR_ID, $child->getId(), Criteria::IN);
         			$cton2->addAnd($cton3);
         			$cton1->addAnd($cton2);
                 		$c->add($cton1); 
         			**/
         $cw = new Criteria();
         $cw->add(ScheduleTutorPeer::EMPLOYEE_ID, $employee->getId());
         $tutor = ScheduleTutorPeer::doSelectOne($cw);
         if ($tutor) {
             $c = new Criteria();
             $c->add(ScheduleTutorPeer::EMPLOYEE_ID, $employee->getId(), Criteria::IN);
             $c->addJoin(SchedulePeer::ID, ScheduleTutorPeer::SCHEDULE_ID);
             $c->add(SchedulePeer::TYPE, Schedule::IS_EKSKUL, Criteria::IN);
             $c->add(SchedulePeer::ACADEMIC_CALENDAR_ID, $child->getId(), Criteria::IN);
         } else {
             $c = new Criteria();
             $c->add(SchedulePeer::EMPLOYEE_ID, $employee->getId(), Criteria::IN);
             $c->add(SchedulePeer::TYPE, Schedule::IS_EKSKUL, Criteria::IN);
             $c->add(SchedulePeer::ACADEMIC_CALENDAR_ID, $child->getId(), Criteria::IN);
         }
     }
     $this->sort($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->filter($c, $this->getRequestParameter('filters'));
             }
         }
     }
     $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'schedule'));
     $this->getUser()->setAttribute('max_per_page', $rpp, 'schedule');
     $pager = new sfPropelPager('Schedule', $rpp);
     $pager->setCriteria($c);
     $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'schedule'));
     $this->getUser()->setAttribute('page', $page, 'schedule');
     $pager->setPage($page);
     $pager->init();
     $this->pager = $pager;
     $actions = array(array('name' => 'filter', 'color' => 'white'));
     $filter_string = "";
     if ($this->filters) {
         foreach ($this->filters as $key => $val) {
             $filter_string .= "&filters[{$key}]={$val}";
         }
         $filter_string = preg_replace('/^&/', '', $filter_string);
     }
     array_unshift($actions, array('name' => '_AS_CSV_', 'url' => "extracurricular/listByEmployeeAsCSV2?{$filter_string}", 'color' => 'black', 'type' => 'direct'));
     array_unshift($actions, array('name' => '_AS_PDF_', 'url' => "extracurricular/listByEmployeeAsPDF2?{$filter_string}", 'color' => 'black', 'type' => 'direct'));
     $this->actions = $actions;
     $actions2 = array(array('name' => '<span>Semester 1, ' . $parent->getName() . '</span>', 'url' => 'extracurricular/listByEmployee', 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Semester 2, ' . $parent->getName() . '</span>', 'url' => 'extracurricular/listByEmployee2', 'color' => 'sky', 'type' => 'direct'));
     $this->actions2 = $actions2;
     $this->subtitle = $employee->toString();
     $this->employee_id = $employee_id;
 }
Exemple #2
0
 public function executeListEkskul()
 {
     $user_tipe = $this->getContext()->getUser()->getAttribute('usertype', null, 'bo');
     $accal_id = $this->getRequestParameter('academic_calendar_id');
     $academic_calendar = AcademicCalendarPeer::retrieveByPK($accal_id);
     $this->forward404Unless($academic_calendar);
     $this->academic_calendar = $academic_calendar;
     if ($user_tipe == 'lector') {
         $this->byEmployee = true;
         $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo');
         $employee = EmployeePeer::retrieveByPK($employee_id);
         $this->forward404Unless($employee);
         ##Tampilan untuk Kepala Sekolah dan Coordinator
         if ($employee->getStaffTypeId() == 13 || $employee->getStaffTypeId() == 14 || $employee->getStaffTypeId() == 26) {
             $c = new Criteria();
             $c->add(SchedulePeer::TYPE, Schedule::IS_EKSKUL);
             $c->add(SchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId());
         } else {
             $cw = new Criteria();
             $cw->add(ScheduleTutorPeer::EMPLOYEE_ID, $employee->getId());
             $tutor = ScheduleTutorPeer::doSelectOne($cw);
             if ($tutor) {
                 $c = new Criteria();
                 $c->add(ScheduleTutorPeer::EMPLOYEE_ID, $employee->getId(), Criteria::IN);
                 $c->addJoin(SchedulePeer::ID, ScheduleTutorPeer::SCHEDULE_ID);
                 $c->add(SchedulePeer::TYPE, Schedule::IS_EKSKUL, Criteria::IN);
                 $c->add(SchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId(), Criteria::IN);
             } else {
                 $c = new Criteria();
                 $c->add(SchedulePeer::EMPLOYEE_ID, $employee->getId(), Criteria::IN);
                 $c->add(SchedulePeer::TYPE, Schedule::IS_EKSKUL, Criteria::IN);
                 $c->add(SchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId(), Criteria::IN);
             }
         }
     } else {
         $this->byEmployee = false;
         $c = new Criteria();
         $c->add(SchedulePeer::TYPE, Schedule::IS_EKSKUL);
         $c->add(SchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId());
     }
     $this->sort($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->filter($c, $this->getRequestParameter('filters'));
             }
         }
     }
     $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'schedule'));
     $this->getUser()->setAttribute('max_per_page', $rpp, 'schedule');
     $pager = new sfPropelPager('Schedule', $rpp);
     $pager->setCriteria($c);
     $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'schedule'));
     $this->getUser()->setAttribute('page', $page, 'schedule');
     $pager->setPage($page);
     $pager->init();
     $this->pager = $pager;
     $actions = array();
     $this->actions = $actions;
     $this->type = 'list';
     $this->subtitle = $academic_calendar->toString();
     $this->academic_calendar = $academic_calendar;
 }