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; }
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'); }
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'); }
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; }
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'); }
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; }