Exemple #1
0
 public function executeShowSubjectSched2()
 {
     $subject_curriculum = SubjectCurrPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($subject_curriculum);
     $this->subtitle = $subject_curriculum->getCurriculum()->toString() . ' - id:' . $subject_curriculum->getId();
     $actions = array(array('name' => 'back', 'url' => 'student_schedule/listSched2', 'color' => 'black'));
     $this->setTemplate('showSubject');
     $this->actions = $actions;
     $this->subject_curriculum = $subject_curriculum;
 }
Exemple #2
0
 public function executeDelete()
 {
     $subject_curr = SubjectCurrPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($subject_curr);
     $ref_error = 0;
     foreach ($subject_curr->getRefCountMethods() as $ref) {
         $method = "count" . $ref['affix'];
         $count = $subject_curr->{$method}();
         if ($count > 0) {
             ++$ref_error;
             $this->getRequest()->setError('subject_curr/delete/' . sfInflector::camelize($ref['table']), $count);
         }
     }
     if ($ref_error > 0) {
         $this->getRequest()->setError('subject_curr/delete', '_ERR_DELETE_ (' . $subject_curr->toString() . ' - id:' . $subject_curr->getId() . ')');
     } else {
         $subject_curr->delete();
     }
     $this->getRequest()->setParameter('curr_id', $subject_curr->getCurriculumId());
     return $this->forward('subject_curr', 'list');
 }
Exemple #3
0
 public function executeGetLectors()
 {
     $subject_curr_id = $this->getRequestParameter('subject_curr_id');
     $subject_curr = SubjectCurrPeer::retrieveByPk($subject_curr_id);
     $c = new Criteria();
     $c->add(TeachingCompetencyPeer::SUBJECT_ID, $subject_curr->getSubjectId());
     $objs = TeachingCompetencyPeer::doSelect($c);
     $lectors = array();
     foreach ($objs as $o) {
         $lectors[$o->getEmployeeId()] = $o->getEmployee()->getName();
     }
     $this->content = $lectors;
     $this->setTemplate('buildOptions');
 }
Exemple #4
0
 public function executeListCourse()
 {
     $group_id = $this->getContext()->getUser()->getAttribute('group_id', null, 'bo');
     $c = new Criteria();
     $c->add(JobPeer::CODE, 'course_schedule/listCourse');
     $job = JobPeer::doSelectOne($c);
     $acl = AclPeer::retrieveByPK($group_id, $job->getId());
     if (!$acl) {
         $this->forward('default', 'error404');
     }
     $this->can_edit = $acl->getEditPriv() == 1;
     $this->can_remove = $acl->getRemovePriv() == 1;
     $c = new Criteria();
     $dept = $this->getContext()->getUser()->getAttribute('department', null, 'bo');
     $c->add(CurriculumPeer::DEPARTMENT_ID, $dept->getChildRecurs(), Criteria::IN);
     $c->addJoin(SubjectCurrPeer::CURRICULUM_ID, CurriculumPeer::ID);
     $c->addJoin(VCoursePeer::SUBJECT_CURR_ID, SubjectCurrPeer::ID);
     $subject_curr = SubjectCurrPeer::retrieveByPk($this->getRequestParameter('subject_curr_id'));
     if ($subject_curr) {
         $c->add(VCoursePeer::SUBJECT_CURR_ID, $subject_curr->getId());
     }
     $class_group = ClassGroupPeer::retrieveByPk($this->getRequestParameter('class_group_id'));
     if ($class_group) {
         $c->add(VCoursePeer::CLASS_GROUP_ID, $class_group->getId());
     }
     $this->subtitle = '';
     if (sfContext::getInstance()->getUser()->getAttribute('usertype', null, 'bo') == 'lector') {
         $emp_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo');
         $emp = EmployeePeer::retrieveByPk($emp_id);
         $this->forward404Unless($emp);
         $c->add(VCoursePeer::EMPLOYEE_ID, $emp_id);
         $this->subtitle = $emp->toString();
     }
     $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(), 'course_schedule'));
     $this->getUser()->setAttribute('max_per_page', $rpp, 'course_schedule');
     $pager = new sfPropelPager('VCourse', $rpp);
     $pager->setCriteria($c);
     $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'course_schedule'));
     $this->getUser()->setAttribute('page', $page, 'course_schedule');
     $pager->setPage($page);
     $pager->init();
     $this->pager = $pager;
     $actions2 = array(array('name' => 'filter', 'color' => 'white'));
     #if ($acl->getAddPriv()) array_unshift($actions, array('name'=>'add','url'=>'student/create', 'color'=>'green'));
     $this->setTemplate('listCourse');
     $this->actions2 = $actions2;
 }
Exemple #5
0
 public function executeUpdate()
 {
     $i18n = new sfI18N();
     $i18n->initialize($this->getContext());
     $i18n->setCulture($this->getUser()->getCulture());
     $action_i18n = $i18n->globalMessageFormat->format('save as new');
     $action_type = $this->getRequestParameter('action_type');
     if ($action_type == $action_i18n || !$this->getRequestParameter('id')) {
         $subject = new Subject();
         $subject->setCode($this->getRequestParameter('code'));
         $subject->setName($this->getRequestParameter('name'));
         $subject->setCredit($this->getRequestParameter('credit'));
         $subject->setSubjectGroupId($this->getRequestParameter('subject_group_id'));
         $subject->setDepartmentId($this->getRequestParameter('department_id'));
         $subject->save();
         $subject_curr = new SubjectCurr();
         $subject_curr->setSubject($subject);
         $subject_curr->setCurriculumId($this->getRequestParameter('curriculum_id'));
         $subject_curr->save();
         if ($this->hasRequestParameter('academic_calendar_id') && $this->getRequestParameter('academic_calendar_id') != null && $this->getRequestParameter('academic_calendar_id') != '') {
             $subject_accal = new SubjectAccal();
             $subject_accal->setSubject($subject);
             $subject_accal->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id'));
             $subject_accal->setEmployeeId($this->getRequestParameter('employee_id'));
             $subject_accal->save();
             $subject_accal_lector = new SubjectAccalLector();
             $subject_accal_lector->setSubjectAccal($subject_accal);
             $subject_accal_lector->setEmployeeId($this->getRequestParameter('employee_id'));
             $subject_accal_lector->save();
         } else {
             $c = new Criteria();
             $c->add(AcademicCalendarPeer::CURRICULUM_ID, $this->getRequestParameter('curriculum_id'));
             $currs = AcademicCalendarPeer::doSelect($c);
             foreach ($currs as $curr) {
                 $subject_accal = new SubjectAccal();
                 $subject_accal->setSubject($subject);
                 $subject_accal->setAcademicCalendarId($curr->getId());
                 $subject_accal->setEmployeeId($this->getRequestParameter('employee_id'));
                 $subject_accal->save();
                 $subject_accal_lector = new SubjectAccalLector();
                 $subject_accal_lector->setSubjectAccal($subject_accal);
                 $subject_accal_lector->setEmployeeId($this->getRequestParameter('employee_id'));
                 $subject_accal_lector->save();
             }
         }
     } else {
         $subject = SubjectPeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($subject);
         $subject->setId($this->getRequestParameter('id'));
         $subject->setCode($this->getRequestParameter('code'));
         $subject->setName($this->getRequestParameter('name'));
         $subject->setCredit($this->getRequestParameter('credit'));
         $subject->setSubjectGroupId($this->getRequestParameter('subject_group_id'));
         $subject->setDepartmentId($this->getRequestParameter('department_id'));
         $subject->save();
         if ($this->hasRequestParameter('subject_curr_id') && $this->getRequestParameter('subject_curr_id') != null && $this->getRequestParameter('subject_curr_id') != '') {
             $subject_curr = SubjectCurrPeer::retrieveByPk($this->getRequestParameter('subject_curr_id'));
             $this->forward404Unless($subject_curr);
             $subject_curr->setId($this->getRequestParameter('subject_curr_id'));
             $subject_curr->setSubject($subject);
             $subject_curr->setCurriculumId($this->getRequestParameter('curriculum_id'));
             $subject_curr->save();
         } else {
             $subject_curr = new SubjectCurr();
             $subject_curr->setSubject($subject);
             $subject_curr->setCurriculumId($this->getRequestParameter('curriculum_id'));
             $subject_curr->save();
         }
         if ($this->hasRequestParameter('subject_accal_id') && $this->getRequestParameter('subject_accal_id') != null && $this->getRequestParameter('subject_accal_id') != '') {
             $subject_accal = SubjectAccalPeer::retrieveByPk($this->getRequestParameter('subject_accal_id'));
             $this->forward404Unless($subject_accal);
             $subject_accal->setId('subject_accal_id');
             $subject_accal->setSubject($subject);
             $subject_accal->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id'));
             $subject_accal->setEmployeeId($this->getRequestParameter('employee_id'));
             $subject_accal->save();
         } else {
             $c = new Criteria();
             $c->add(AcademicCalendarPeer::CURRICULUM_ID, $this->getRequestParameter('curriculum_id'));
             $currs = AcademicCalendarPeer::doSelect($c);
             foreach ($currs as $curr) {
                 $subject_accal = new SubjectAccal();
                 $subject_accal->setSubject($subject);
                 $subject_accal->setAcademicCalendarId($curr->getId());
                 $subject_accal->setEmployeeId($this->getRequestParameter('employee_id'));
                 $subject_accal->save();
                 $subject_accal_lector = new SubjectAccalLector();
                 $subject_accal_lector->setSubjectAccal($subject_accal);
                 $subject_accal_lector->setEmployeeId($this->getRequestParameter('employee_id'));
                 $subject_accal_lector->save();
             }
         }
     }
     return $this->redirect('subject/list');
 }
Exemple #6
0
 public function executeListShow()
 {
     $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo');
     $employee = EmployeePeer::retrieveByPK($employee_id);
     $this->forward404Unless($employee);
     $this->employee_id = $employee_id;
     $c = new Criteria();
     $c->add(StudentRaportPeer::ACADEMIC_CALENDAR_ID, $this->getRequestParameter('accal_id'));
     $c->add(StudentCoursePeer::SUBJECT_CURR_ID, $this->getRequestParameter('subject_id'));
     $c->add(StudentCoursePeer::CLASS_GROUP_ID, $this->getRequestParameter('class_id'));
     $c->addJoin(VStudentActivePeer::ID, StudentCoursePeer::STUDENT_ID);
     $c->addAscendingOrderByColumn(VStudentActivePeer::NAME);
     $this->students = VStudentActivePeer::doSelect($c);
     $this->student_count = VStudentActivePeer::doCount($c);
     $subject_curr = SubjectCurrPeer::retrieveByPk($this->getRequestParameter('subject_id'));
     $this->forward404Unless($subject_curr);
     $class_group = ClassGroupPeer::retrieveByPk($this->getRequestParameter('class_id'));
     $this->forward404Unless($class_group);
     $academic_calendar = AcademicCalendarPeer::retrieveByPk($this->getRequestParameter('accal_id'));
     $this->forward404Unless($academic_calendar);
     $cw = new Criteria();
     $cw->add(CourseSchedulePeer::SUBJECT_CURR_ID, $subject_curr->getId());
     $cw->add(CourseSchedulePeer::CLASS_GROUP_ID, $class_group->getId());
     $cw->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId());
     $course_schedule = CourseSchedulePeer::doSelectOne($cw);
     $cr = new Criteria();
     $cr->add(GradeSpecPeer::PARENT, 1);
     $this->grade1 = GradeSpecPeer::doSelect($cr);
     $this->count1 = GradeSpecPeer::doCount($cr);
     $cr = new Criteria();
     $cr->add(GradeSpecPeer::PARENT, 7);
     $this->grade2 = GradeSpecPeer::doSelect($cr);
     $this->count2 = GradeSpecPeer::doCount($cr);
     $cr = new Criteria();
     $cr->add(GradeSpecPeer::PARENT, 30);
     $this->grade3 = GradeSpecPeer::doSelect($cr);
     $this->count3 = GradeSpecPeer::doCount($cr);
     $this->subject_curr = $subject_curr;
     $this->academic_calendar = $academic_calendar;
     $this->class_group = $class_group;
     $rpp = $this->getRequestParameter('max_per_page', 999);
     $pager = new sfPropelPager('Student', $rpp);
     $pager->setCriteria($c);
     $pager->setPage($this->getRequestParameter('page', 1));
     $pager->init();
     $this->pager = $pager;
     $actions2 = array(array('name' => '<span>Daftar Guru Kelas</span>', 'url' => 'employee_agenda/list', 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Agenda Kelas</span>', 'url' => 'employee_agenda/listAgenda?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Absensi</span>', 'url' => 'employee_agenda/listAbsence?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Jadwal Tugas/Ulangan/PR</span>', 'url' => 'employee_agenda/listTest?course_id=' . $course_schedule->getId(), 'color' => 'sun'));
     array_push($actions2, array('name' => '<span>Penilaian</span>', 'url' => 'course_detail/listShow?subject_id=' . $course_schedule->getSubjectCurrId() . '&class_id=' . $course_schedule->getClassGroupId() . '&accal_id=' . $course_schedule->getAcademicCalendarId(), 'color' => 'sun', 'type' => 'direct'));
     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?subject_id=' . $course_schedule->getSubjectCurrId() . '&class_id=' . $course_schedule->getClassGroupId() . '&accal_id=' . $course_schedule->getAcademicCalendarId(), 'color' => 'sun'));
     }
     $this->actions2 = $actions2;
 }