コード例 #1
0
ファイル: actions.class.php プロジェクト: taryono/school
 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');
     $subject_curr_id = $this->getRequestParameter('subject_curr_id');
     $subject_curr = SubjectCurrPeer::retrieveByPK($subject_curr_id);
     $this->forward404Unless($subject_curr);
     $academic_calendar_id = $this->getRequestParameter('accal_id');
     $academic_calendar = AcademicCalendarPeer::retrieveByPK($academic_calendar_id);
     $this->forward404Unless($academic_calendar);
     $class_group_id = $this->getRequestParameter('class_group_id');
     $class_group = ClassGroupPeer::retrieveByPK($class_group_id);
     $this->forward404Unless($class_group);
     $course_sched = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_sched);
     $cur13_term = Cur13TermPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($cur13_term);
     $cur13_term->setCourseScheduleId($course_sched->getId());
     $cur13_term->setCode($this->getRequestParameter('code'));
     $cur13_term->setName($this->getRequestParameter('name'));
     $cur13_term->setDescription($this->getRequestParameter('description'));
     #$cur13_term->setCur13KiId($this->getRequestParameter('cur13_ki_id'));
     $cur13_term->save();
     $spkis = $this->getRequestParameter('spki');
     $bobot = $this->getRequestParameter('bobot');
     foreach ($spkis as $l => $spki) {
         $ct = new Criteria();
         $ct->add(Cur13TermSpecPeer::CUR13_TERM_ID, $cur13_term->getId());
         $ct->add(Cur13TermSpecPeer::GRADE_SPEC_ID, $l);
         $cur13_ts = Cur13TermSpecPeer::doSelectOne($ct);
         if ($cur13_ts == null) {
             $cur13_ts = new Cur13TermSpec();
         }
         $cur13_ts->setCur13TermId($cur13_term->getId());
         $cur13_ts->setGradeSpecId($l);
         $cur13_ts->setBobot($bobot[$l]);
         $cur13_ts->save();
     }
     $delspkis = $this->getRequestParameter('delspki');
     foreach ($delspkis as $l => $delspki) {
         $ct = new Criteria();
         $ct->add(Cur13TermSpecPeer::CUR13_TERM_ID, $cur13_term->getId());
         $ct->add(Cur13TermSpecPeer::GRADE_SPEC_ID, $l);
         $cur13_ts = Cur13TermSpecPeer::doSelectOne($ct);
         if ($cur13_ts != null) {
             $cur13_ts->delete();
         }
     }
     return $this->redirect('cur13_term/getSubject?subject_curr_id=' . $subject_curr->getId() . '&accal_id=' . $academic_calendar->getId() . '&class_group_id=' . $class_group->getId());
 }
コード例 #2
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeSave()
 {
     $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');
     $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo');
     $employee = EmployeePeer::retrieveByPK($employee_id);
     $this->forward404Unless($employee);
     if ($action_type == $action_i18n || !$this->getRequestParameter('id')) {
         $class_agenda = new ClassAgenda();
     } else {
         $class_agenda = ClassAgendaPeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($class_agenda);
     }
     $class_agenda->setId($this->getRequestParameter('id'));
     $class_agenda->setCourseScheduleId($this->getRequestParameter('course_schedule_id'));
     $class_agenda->setDetail($this->getRequestParameter('detail'));
     if ($this->getRequestParameter('date')) {
         $class_agenda->setDate($this->getRequestParameter('date'));
     }
     $class_agenda->setStatus($this->getRequestParameter('status'));
     $class_agenda->setSubjectGradingId($this->getRequestParameter('subject_grading_id'));
     $class_agenda->setMeetingPoint($this->getRequestParameter('meeting_point'));
     $class_agenda->setActionType($this->getRequestParameter('action_type'));
     $class_agenda->setDay($this->getRequestParameter('day'));
     if ($this->getRequestParameter('class_group_id')) {
         $class_agenda->setClassGroupId($this->getRequestParameter('class_group_id'));
     } else {
         $cs = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_schedule_id'));
         $this->forward404Unless($cs);
         $class_agenda->setClassGroupId($cs->getClassGroupId());
     }
     $class_agenda->setDescription($this->getRequestParameter('description'));
     $class_agenda->save();
     #$params = array();
     #foreach (explode('&', $this->getRequestParameter('student_list_ser')) as $p) {
     #	$p = explode('=', $p);
     #	$params[rawurldecode($p[0])][] = rawurldecode($p[1]);
     #}
     #if (array_key_exists('students', $params)) {
     #	foreach ($params['students'] as $su_id) {
     #		$student_absence = new StudentAbsence();
     #
     #		$student_absence->setStudentId($su_id);
     #		$student_absence->setStart($this->getRequestParameter('date'));
     #		$student_absence->setEnd($this->getRequestParameter('date'));
     #		$student_absence->setAcademicCalendarId($class_agenda->getCourseSchedule()->getAcademicCalendarId());
     #		$student_absence->setClassGroupId($this->getRequestParameter('class_group_id'));
     #		$student_absence->save();
     #	}
     #}
     return $this->redirect('agenda/edit?id=' . $class_agenda->getId());
     #return $this->forward('agenda', 'list');
     #return $this->forward('agenda', 'edit?id='.$class_agenda->getId());
 }
コード例 #3
0
 public static function doSelectJoinAllExceptEmployee(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     CourseScheduleTutorPeer::addSelectColumns($c);
     $startcol2 = CourseScheduleTutorPeer::NUM_COLUMNS - CourseScheduleTutorPeer::NUM_LAZY_LOAD_COLUMNS + 1;
     CourseSchedulePeer::addSelectColumns($c);
     $startcol3 = $startcol2 + CourseSchedulePeer::NUM_COLUMNS;
     $c->addJoin(CourseScheduleTutorPeer::COURSE_SCHEDULE_ID, CourseSchedulePeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = CourseScheduleTutorPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = CourseSchedulePeer::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->getCourseSchedule();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addCourseScheduleTutor($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initCourseScheduleTutors();
             $obj2->addCourseScheduleTutor($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
コード例 #4
0
ファイル: BaseCur13Report.php プロジェクト: taryono/school
 public function getCourseSchedule($con = null)
 {
     include_once 'lib/model/om/BaseCourseSchedulePeer.php';
     if ($this->aCourseSchedule === null && $this->course_schedule_id !== null) {
         $this->aCourseSchedule = CourseSchedulePeer::retrieveByPK($this->course_schedule_id, $con);
     }
     return $this->aCourseSchedule;
 }
コード例 #5
0
							<?php 
echo $course_schedule->getSubjectCurr() ? $course_schedule->getSubjectCurr()->getSubject()->toName() : '-';
?>
</b></p>
					</td>
                		</tr>   
                		<tr>
                			<td style="vertical-align:top;"><label ><?php 
echo __('Lector');
?>
</label></td>
                    			<td width="3%" style="text-align:center; vertical-align:top;">:</td>
					<td style="vertical-align:top;">
                    			<p class="detail" style="font-weight: bold;">
					<?php 
$course_schedules = CourseSchedulePeer::retrieveByPK($course_schedule->getId());
$tutors = array();
foreach ($course_schedules->getCourseScheduleTutors() as $cr) {
    $tutors[] = $cr->getEmployee() ? '&middot; ' . $cr->getEmployee()->getName() : '-';
}
echo join("<br>", $tutors);
?>
                   	 		</p></td>
                		</tr>			
            		</tbody>
		</table>
	</td></tr>
	</table>	
	</td>
	
	<td width="1%">&nbsp;</td>
コード例 #6
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeListHistoryScore()
 {
     $student_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo');
     $student = StudentPeer::retrieveByPK($student_id);
     $this->forward404Unless($student);
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $course_schedule_id = $course_schedule->getId();
     $c = new Criteria();
     $c->addJoin(StudentAccalPeer::STUDENT_ID, VStudentActivePeer::ID);
     $c->add(StudentAccalPeer::STUDENT_ID, $student->getId());
     $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $c->add(StudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $student_accal = StudentAccalPeer::doSelectOne($c);
     $this->forward404Unless($student_accal);
     $this->student_accal = $student_accal;
     $cr = new Criteria();
     $cr->add(GradeSpecPeer::PARENT, 1);
     $this->grade1 = GradeSpecPeer::doSelect($cr);
     $this->count1 = GradeSpecPeer::doCount($cr);
     $crew = new Criteria();
     $crew->add(GradeSpecPeer::PARENT, 7);
     $this->grade2 = GradeSpecPeer::doSelect($crew);
     $this->count2 = GradeSpecPeer::doCount($crew);
     $actions = array();
     $this->actions = $actions;
     $this->subtitle = $course_schedule->getSubjectCurr()->getSubject()->getName() . ' - ' . $course_schedule->getClassGroup()->toString();
     $this->type = 'list';
     $this->course_schedule = $course_schedule;
     $this->course_schedule_id = $course_schedule_id;
     $this->student = $student;
     $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'));
     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', 'type' => 'direct'));
     $this->actions2 = $actions2;
 }
コード例 #7
0
ファイル: listCourseSuccess.php プロジェクト: taryono/school
        $cds = CourseSchedulePeer::doSelectOne($c);
        $course_schedules = CourseSchedulePeer::retrieveByPK($cds->getId());
        $tutors = array();
        foreach ($course_schedules->getCourseScheduleTutors() as $cr) {
            $tutors[] = $cr->getEmployee() ? '&middot; ' . $cr->getEmployee()->getName() : '-';
        }
        echo join("<br>", $tutors);
        ?>
</td>

                                <td><?php 
        $c = new Criteria();
        $c->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
        $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
        $c->add(CourseSchedulePeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
        $cds = CourseSchedulePeer::doSelect($c);
        foreach ($cds as $cd) {
            $c = new Criteria();
            $c->add(CourseScheduleDetailPeer::COURSE_SCHEDULE_ID, $cd->getId());
            $c->addDescendingOrderByColumn(CourseScheduleDetailPeer::ID);
            $cs_details = CourseScheduleDetailPeer::doSelect($c);
            foreach ($cs_details as $detail) {
                echo '&middot;' . $detail->getDayString() . ' - ' . $detail->getLocation()->toString() . ' <br> <font style="color: #017FC0;">(' . $detail->getClassSession()->getBegin() . ' - ' . $detail->getClassSession()->getEnd() . ')</font><br>';
            }
        }
        ?>
</td>
                            </tr>
    <?php 
    }
}
コード例 #8
0
 public static function doSelectJoinAllExceptAcademicCalendar(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     VSubjectAgendaPeer::addSelectColumns($c);
     $startcol2 = VSubjectAgendaPeer::NUM_COLUMNS - VSubjectAgendaPeer::NUM_LAZY_LOAD_COLUMNS + 1;
     CourseSchedulePeer::addSelectColumns($c);
     $startcol3 = $startcol2 + CourseSchedulePeer::NUM_COLUMNS;
     ClassGroupPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + ClassGroupPeer::NUM_COLUMNS;
     SubjectCurrPeer::addSelectColumns($c);
     $startcol5 = $startcol4 + SubjectCurrPeer::NUM_COLUMNS;
     $c->addJoin(VSubjectAgendaPeer::COURSE_SCHEDULE_ID, CourseSchedulePeer::ID);
     $c->addJoin(VSubjectAgendaPeer::CLASS_GROUP_ID, ClassGroupPeer::ID);
     $c->addJoin(VSubjectAgendaPeer::SUBJECT_CURR_ID, SubjectCurrPeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = VSubjectAgendaPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = CourseSchedulePeer::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->getCourseSchedule();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addVSubjectAgenda($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initVSubjectAgendas();
             $obj2->addVSubjectAgenda($obj1);
         }
         $omClass = ClassGroupPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj3 = new $cls();
         $obj3->hydrate($rs, $startcol3);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj3 = $temp_obj1->getClassGroup();
             if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj3->addVSubjectAgenda($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj3->initVSubjectAgendas();
             $obj3->addVSubjectAgenda($obj1);
         }
         $omClass = SubjectCurrPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj4 = new $cls();
         $obj4->hydrate($rs, $startcol4);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj4 = $temp_obj1->getSubjectCurr();
             if ($temp_obj4->getPrimaryKey() === $obj4->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj4->addVSubjectAgenda($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj4->initVSubjectAgendas();
             $obj4->addVSubjectAgenda($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
コード例 #9
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeSaveNotes()
 {
     $course_id = $this->getRequestParameter('course_id');
     $course_schedule = CourseSchedulePeer::retrieveByPK($course_id);
     $this->forward404Unless($course_schedule);
     $descs = $this->getRequestParameter('desc');
     foreach ($descs as $m => $desc) {
         if ($desc != null) {
             if ($desc != '-') {
                 $ced = new Criteria();
                 $ced->add(StudentNotePeer::STUDENT_ID, $m);
                 $ced->add(StudentNotePeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                 $ced->add(StudentNotePeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                 $ced->add(StudentNotePeer::RANKING, 5);
                 $note = StudentNotePeer::doSelectOne($ced);
                 if ($note == null) {
                     $note = new StudentNote();
                 }
                 $note->setStudentId($m);
                 $note->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
                 $note->setClassGroupId($course_schedule->getClassGroupId());
                 $note->setNote($desc);
                 $note->setRanking(5);
                 $note->save();
             } else {
                 $ced = new Criteria();
                 $ced->add(StudentNotePeer::STUDENT_ID, $m);
                 $ced->add(StudentNotePeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
                 $ced->add(StudentNotePeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
                 $ced->add(StudentNotePeer::RANKING, 5);
                 $note = StudentNotePeer::doSelectOne($ced);
                 if ($note != null) {
                     $note->delete();
                 }
             }
         }
     }
     return $this->redirect('course_score/listPersonality?course_id=' . $course_schedule->getId());
 }
コード例 #10
0
 public static function doSelectJoinAllExceptAcademicCalendar(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     VCourseSessionPeer::addSelectColumns($c);
     $startcol2 = VCourseSessionPeer::NUM_COLUMNS - VCourseSessionPeer::NUM_LAZY_LOAD_COLUMNS + 1;
     SubjectAccalPeer::addSelectColumns($c);
     $startcol3 = $startcol2 + SubjectAccalPeer::NUM_COLUMNS;
     SubjectCurrPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + SubjectCurrPeer::NUM_COLUMNS;
     EmployeePeer::addSelectColumns($c);
     $startcol5 = $startcol4 + EmployeePeer::NUM_COLUMNS;
     ClassGroupPeer::addSelectColumns($c);
     $startcol6 = $startcol5 + ClassGroupPeer::NUM_COLUMNS;
     LocationPeer::addSelectColumns($c);
     $startcol7 = $startcol6 + LocationPeer::NUM_COLUMNS;
     ClassSessionPeer::addSelectColumns($c);
     $startcol8 = $startcol7 + ClassSessionPeer::NUM_COLUMNS;
     CourseSchedulePeer::addSelectColumns($c);
     $startcol9 = $startcol8 + CourseSchedulePeer::NUM_COLUMNS;
     $c->addJoin(VCourseSessionPeer::SUBJECT_ACCAL_ID, SubjectAccalPeer::ID);
     $c->addJoin(VCourseSessionPeer::SUBJECT_CURR_ID, SubjectCurrPeer::ID);
     $c->addJoin(VCourseSessionPeer::EMPLOYEE_ID, EmployeePeer::ID);
     $c->addJoin(VCourseSessionPeer::CLASS_GROUP_ID, ClassGroupPeer::ID);
     $c->addJoin(VCourseSessionPeer::LOCATION_ID, LocationPeer::ID);
     $c->addJoin(VCourseSessionPeer::CLASS_SESSION_ID, ClassSessionPeer::ID);
     $c->addJoin(VCourseSessionPeer::COURSE_SCHEDULE_ID, CourseSchedulePeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = VCourseSessionPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = SubjectAccalPeer::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->getSubjectAccal();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addVCourseSession($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initVCourseSessions();
             $obj2->addVCourseSession($obj1);
         }
         $omClass = SubjectCurrPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj3 = new $cls();
         $obj3->hydrate($rs, $startcol3);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj3 = $temp_obj1->getSubjectCurr();
             if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj3->addVCourseSession($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj3->initVCourseSessions();
             $obj3->addVCourseSession($obj1);
         }
         $omClass = EmployeePeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj4 = new $cls();
         $obj4->hydrate($rs, $startcol4);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj4 = $temp_obj1->getEmployee();
             if ($temp_obj4->getPrimaryKey() === $obj4->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj4->addVCourseSession($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj4->initVCourseSessions();
             $obj4->addVCourseSession($obj1);
         }
         $omClass = ClassGroupPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj5 = new $cls();
         $obj5->hydrate($rs, $startcol5);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj5 = $temp_obj1->getClassGroup();
             if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj5->addVCourseSession($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj5->initVCourseSessions();
             $obj5->addVCourseSession($obj1);
         }
         $omClass = LocationPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj6 = new $cls();
         $obj6->hydrate($rs, $startcol6);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj6 = $temp_obj1->getLocation();
             if ($temp_obj6->getPrimaryKey() === $obj6->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj6->addVCourseSession($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj6->initVCourseSessions();
             $obj6->addVCourseSession($obj1);
         }
         $omClass = ClassSessionPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj7 = new $cls();
         $obj7->hydrate($rs, $startcol7);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj7 = $temp_obj1->getClassSession();
             if ($temp_obj7->getPrimaryKey() === $obj7->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj7->addVCourseSession($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj7->initVCourseSessions();
             $obj7->addVCourseSession($obj1);
         }
         $omClass = CourseSchedulePeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj8 = new $cls();
         $obj8->hydrate($rs, $startcol8);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj8 = $temp_obj1->getCourseSchedule();
             if ($temp_obj8->getPrimaryKey() === $obj8->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj8->addVCourseSession($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj8->initVCourseSessions();
             $obj8->addVCourseSession($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
コード例 #11
0
ファイル: printFinal9Success.php プロジェクト: taryono/school
 if ($score_rule->getLanguage() == 'Indonesia') {
     echo $remark_know != 'M' ? $remark_select[$remark_know . '#' . GradeConversion::TYPE_KNOWLEDGE] : ' ';
 } else {
     echo $remark_know != 'M' ? $descript_select[$remark_know . '#' . GradeConversion::TYPE_KNOWLEDGE] : ' ';
 }
 ?>
                         </th>
                     </tr>
                     <tr>
                         <th style="font-weight: normal; vertical-align: middle; border-top: none;" width="4%"></th>
                         <th style="font-weight: normal; text-align: left; vertical-align: middle; border-top: none;" width="22%">
                             <?php 
 ## Nama Guru
 if (array_key_exists($subject->getSubjectCurrId(), $course_ids)) {
     $course_sched_id = $course_ids[$subject->getSubjectCurrId()];
     $course_schedule = CourseSchedulePeer::retrieveByPK($course_sched_id);
     $tutors = array();
     foreach ($course_schedule->getCourseScheduleTutors() as $cr) {
         $tutors[] = $cr->getEmployee() ? '(' . $cr->getEmployee()->getName() . ')' : '-';
     }
     echo join(",", $tutors);
 }
 ?>
                         </th>
                         <th style="font-weight: normal; text-align: left;" width="25%"><?php 
 if ($score_rule->getLanguage() == 'Inggris') {
     echo 'Skill';
 } elseif ($score_rule->getLanguage() == 'Indonesia') {
     echo 'Keterampilan';
 } else {
     echo 'Skill';
コード例 #12
0
ファイル: actions.class.php プロジェクト: taryono/school
 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());
 }
コード例 #13
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeUpdateTest()
 {
     $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo');
     $employee = EmployeePeer::retrieveByPK($employee_id);
     $this->forward404Unless($employee);
     $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')) {
         $schedule = new Schedule();
     } else {
         $schedule = SchedulePeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($schedule);
     }
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $schedule->setId($this->getRequestParameter('id'));
     $schedule->setSubjectCurrId($course_schedule->getSubjectCurrId());
     $schedule->setClassGroupId($course_schedule->getClassGroupId());
     $schedule->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
     $schedule->setDay($this->getRequestParameter('day'));
     $schedule->setName($this->getRequestParameter('name'));
     $schedule->setSemester($this->getRequestParameter('semester'));
     $schedule->setKkm($this->getRequestParameter('kkm'));
     $schedule->setType(1);
     $schedule->setClassSessionId($this->getRequestParameter('class_session_id'));
     $schedule->setEmployeeId($this->getRequestParameter('employee_id'));
     $schedule->setLocationId($this->getRequestParameter('location_id'));
     $schedule->setGradeSpecId($this->getRequestParameter('grade_spec_id'));
     $schedule->setDate($this->getRequestParameter('date'));
     $schedule->setDetail($this->getRequestParameter('detail'));
     $schedule->save();
     return $this->redirect('course/test?employee_id=' . $employee_id . '&course_id=' . $course_schedule->getId());
 }
コード例 #14
0
 public static function doSelectJoinAllExceptEmployee(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     ClassAgendaPeer::addSelectColumns($c);
     $startcol2 = ClassAgendaPeer::NUM_COLUMNS - ClassAgendaPeer::NUM_LAZY_LOAD_COLUMNS + 1;
     CourseSchedulePeer::addSelectColumns($c);
     $startcol3 = $startcol2 + CourseSchedulePeer::NUM_COLUMNS;
     ClassSessionPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + ClassSessionPeer::NUM_COLUMNS;
     SubjectGradingPeer::addSelectColumns($c);
     $startcol5 = $startcol4 + SubjectGradingPeer::NUM_COLUMNS;
     StudentPeer::addSelectColumns($c);
     $startcol6 = $startcol5 + StudentPeer::NUM_COLUMNS;
     StudentAbsencePeer::addSelectColumns($c);
     $startcol7 = $startcol6 + StudentAbsencePeer::NUM_COLUMNS;
     ClassGroupPeer::addSelectColumns($c);
     $startcol8 = $startcol7 + ClassGroupPeer::NUM_COLUMNS;
     SchedulePeer::addSelectColumns($c);
     $startcol9 = $startcol8 + SchedulePeer::NUM_COLUMNS;
     $c->addJoin(ClassAgendaPeer::COURSE_SCHEDULE_ID, CourseSchedulePeer::ID);
     $c->addJoin(ClassAgendaPeer::CLASS_SESSION_ID, ClassSessionPeer::ID);
     $c->addJoin(ClassAgendaPeer::SUBJECT_GRADING_ID, SubjectGradingPeer::ID);
     $c->addJoin(ClassAgendaPeer::STUDENT_ID, StudentPeer::ID);
     $c->addJoin(ClassAgendaPeer::STUDENT_ABSENCE_ID, StudentAbsencePeer::ID);
     $c->addJoin(ClassAgendaPeer::CLASS_GROUP_ID, ClassGroupPeer::ID);
     $c->addJoin(ClassAgendaPeer::SCHEDULE_ID, SchedulePeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = ClassAgendaPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = CourseSchedulePeer::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->getCourseSchedule();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addClassAgenda($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initClassAgendas();
             $obj2->addClassAgenda($obj1);
         }
         $omClass = ClassSessionPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj3 = new $cls();
         $obj3->hydrate($rs, $startcol3);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj3 = $temp_obj1->getClassSession();
             if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj3->addClassAgenda($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj3->initClassAgendas();
             $obj3->addClassAgenda($obj1);
         }
         $omClass = SubjectGradingPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj4 = new $cls();
         $obj4->hydrate($rs, $startcol4);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj4 = $temp_obj1->getSubjectGrading();
             if ($temp_obj4->getPrimaryKey() === $obj4->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj4->addClassAgenda($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj4->initClassAgendas();
             $obj4->addClassAgenda($obj1);
         }
         $omClass = StudentPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj5 = new $cls();
         $obj5->hydrate($rs, $startcol5);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj5 = $temp_obj1->getStudent();
             if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj5->addClassAgenda($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj5->initClassAgendas();
             $obj5->addClassAgenda($obj1);
         }
         $omClass = StudentAbsencePeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj6 = new $cls();
         $obj6->hydrate($rs, $startcol6);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj6 = $temp_obj1->getStudentAbsence();
             if ($temp_obj6->getPrimaryKey() === $obj6->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj6->addClassAgenda($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj6->initClassAgendas();
             $obj6->addClassAgenda($obj1);
         }
         $omClass = ClassGroupPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj7 = new $cls();
         $obj7->hydrate($rs, $startcol7);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj7 = $temp_obj1->getClassGroup();
             if ($temp_obj7->getPrimaryKey() === $obj7->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj7->addClassAgenda($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj7->initClassAgendas();
             $obj7->addClassAgenda($obj1);
         }
         $omClass = SchedulePeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj8 = new $cls();
         $obj8->hydrate($rs, $startcol8);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj8 = $temp_obj1->getSchedule();
             if ($temp_obj8->getPrimaryKey() === $obj8->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj8->addClassAgenda($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj8->initClassAgendas();
             $obj8->addClassAgenda($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
コード例 #15
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeUpdate()
 {
     $employee_id = sfContext::getInstance()->getUser()->getAttribute('user_id', null, 'bo');
     $employee = EmployeePeer::retrieveByPK($employee_id);
     $this->forward404Unless($employee);
     $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')) {
         $schedule = new Schedule();
     } else {
         $schedule = SchedulePeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($schedule);
     }
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $schedule->setId($this->getRequestParameter('id'));
     $schedule->setSubjectCurrId($course_schedule->getSubjectCurrId());
     $schedule->setClassGroupId($course_schedule->getClassGroupId());
     $schedule->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
     $schedule->setDay($this->getRequestParameter('day'));
     $schedule->setName($this->getRequestParameter('name'));
     $schedule->setSemester($this->getRequestParameter('semester'));
     $schedule->setKkm($this->getRequestParameter('kkm'));
     $schedule->setType(1);
     $schedule->setClassSessionId($this->getRequestParameter('class_session_id'));
     $c = new Criteria();
     $c->add(CourseScheduleTutorPeer::COURSE_SCHEDULE_ID, $course_schedule->getId());
     $cst = CourseScheduleTutorPeer::doSelectOne($c);
     if ($employee->getStaffTypeId() != 21) {
         $schedule->setEmployeeId($this->getRequestParameter('employee_id'));
     } else {
         $schedule->setEmployeeId($cst->getEmployeeId());
     }
     #$schedule->setEmployeeId($this->getRequestParameter('employee_id'));
     $schedule->setLocationId($this->getRequestParameter('location_id'));
     $schedule->setGradeSpecId($this->getRequestParameter('grade_spec_id'));
     $schedule->setDate($this->getRequestParameter('date'));
     $schedule->setDetail($this->getRequestParameter('detail'));
     $schedule->save();
     /* SMS Add */
     if (SF_ENVIRONMENT == 'dev') {
         if ($this->getRequestParameter('send_message') == 1) {
             $lekarSms = new lekarSms();
             $userType = $this->getContext()->getUser()->getAttribute('usertype', '', 'bo');
             $lekarSms->sendSmsCourseTest($schedule, $userType);
         }
     }
     /* --- */
     return $this->redirect('course_test/list?course_id=' . $course_schedule->getId());
 }
コード例 #16
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeSelectByClass()
 {
     $class_id = $this->getRequestParameter('class_id');
     $accal_id = $this->getRequestParameter('accal_id');
     $c = new Criteria();
     $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $class_id);
     $c->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $accal_id);
     $c->addAscendingOrderByColumn(CourseSchedulePeer::ID);
     $objs = CourseSchedulePeer::doSelect($c);
     $content = array();
     $disabled = array();
     foreach ($objs as $o) {
         $c = new Criteria();
         $c->add(CourseScheduleTutorPeer::COURSE_SCHEDULE_ID, $o->getId());
         $cst = CourseScheduleTutorPeer::doSelect($c);
         $tutors = array();
         foreach ($cst as $cr) {
             $tutors[] = $cr->getEmployee() ? $cr->getEmployee()->getName() : '-';
         }
         $content[$o->getId()] = $o->getSubjectCurr()->getSubject()->getName() . ' # ' . join("&sbquo;", $tutors);
     }
     $this->content = $content;
     $this->disabled = $disabled;
 }
コード例 #17
0
ファイル: baseKi.php プロジェクト: taryono/school
 /**
  * setCourseSchedule function
  * function to set the course schedule
  * @param int $courseScheduleId
  */
 public function setCourseSchedule($courseScheduleId)
 {
     $this->courseSchedule = CourseSchedulePeer::retrieveByPK($courseScheduleId);
     $this->setAcademicCalendar($this->getCourseSchedule()->getAcademicCalendarId());
     $this->setClassGroup($this->getCourseSchedule()->getClassGroupId());
 }
コード例 #18
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeGetLectors()
 {
     $subject_id = $this->getRequestParameter('subject_id');
     $accal_id = $this->getRequestParameter('accal_id');
     $accal = AcademicCalendarPeer::retrieveByPK($accal_id);
     $this->forward404Unless($accal);
     $subject = SubjectPeer::retrieveByPK($subject_id);
     $subject_academic = null;
     if (!$subject) {
         $subject_academic_id = $this->getRequestParameter('subject_academic_id');
         $subject_academic = SubjectAccalPeer::retrieveByPK($subject_academic_id);
         $subject = $subject_academic->getSubject();
     }
     $this->forward404Unless($subject);
     $subject_id = $subject->getId();
     if ($subject_academic == null) {
         $c = new Criteria();
         $c->add(SubjectAccalPeer::ACADEMIC_CALENDAR_ID, $accal_id);
         $c->add(SubjectAccalPeer::SUBJECT_ID, $subject_id);
         $subject_academic = SubjectAccalPeer::doSelectOne($c);
     }
     $c = new Criteria();
     $c->add(TeachingCompetencyPeer::SUBJECT_ID, $subject_id);
     $c->addJoin(TeachingCompetencyPeer::EMPLOYEE_ID, EmployeePeer::ID);
     $c->addAscendingOrderByColumn(EmployeePeer::EMP_NO);
     $objs = EmployeePeer::doSelect($c);
     $lectors = array();
     $disabled = array();
     $cs_counts = array();
     foreach ($objs as $o) {
         $lectors[$o->getId()] = $o->toString();
         if ($subject_academic) {
             $c = new Criteria();
             $c->add(CourseSchedulePeer::EMPLOYEE_ID, $o->getId());
             $c->add(CourseSchedulePeer::SUBJECT_ACCAL_ID, $subject_academic->getId());
             $cs_count = CourseSchedulePeer::doCount($c);
             $cs_counts[$o->getId()] = $cs_count;
         }
     }
     $this->selected_lectors = array();
     if ($subject_academic) {
         $sals = $subject_academic->getSubjectAccalLectors();
         foreach ($sals as $sal) {
             $this->selected_lectors[$sal->getEmployeeId()] = 1;
         }
     }
     $this->cs_counts = $cs_counts;
     $this->lectors = $lectors;
     $this->forward404Unless($subject);
     $this->setTemplate('buildCheckBoxes');
     $this->disabled = $disabled;
     $this->accal = $accal;
     $this->subject_academic = $subject_academic;
 }
コード例 #19
0
ファイル: listSuccess.php プロジェクト: taryono/school
                                        <?php 
            if ($can_remove) {
                echo link_to_remote(__('delete'), array('url' => 'agenda/delete?id=' . $agenda->getId(), 'confirm' => __('Are you sure?'), 'update' => 'content', 'script' => 'true', 'before' => "this.blur();showIndicator('content', 'snakebig_black');", 'complete' => "hideIndicator()"), array('class' => 'red', 'style' => 'font-size:10px;'));
            }
            ?>
                                        </p>
                                    <?php 
        }
        ?>
                                </td>
        <?php 
        if (sfContext::getInstance()->getUser()->getAttribute('usertype', null, 'bo') != 'lector') {
            ?>
                                    <td>
            <?php 
            $course_schedules = CourseSchedulePeer::retrieveByPK($agenda->getCourseScheduleId());
            $tutors = array();
            foreach ($course_schedules->getCourseScheduleTutors() as $ta) {
                $tutors[] = $ta->getEmployee() ? link_to_remote('&middot; ' . $ta->getEmployee()->toString(), array('url' => 'agenda/showEmployee?id=' . $ta->getEmployeeId(), 'update' => 'content', 'script' => 'true', 'before' => "this.blur();showIndicator('content', 'snakebig_black');", 'complete' => "hideIndicator()"), array('class' => 'white')) : '-';
            }
            echo join("<br>", $tutors);
            ?>
</td>
                            <?php 
        }
        ?>
                                <td><?php 
        echo $agenda->getClassGroup() ? $agenda->getClassGroup()->toString() : '-';
        ?>
</td>
                                <td><?php 
コード例 #20
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executePrintTryout()
 {
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $course_schedule_id = $course_schedule->getId();
     $cr = new Criteria();
     $cr->add(GradeSpecPeer::PARENT, 45);
     $this->grade = GradeSpecPeer::doSelect($cr);
     $this->count = GradeSpecPeer::doCount($cr);
     $cd = new Criteria();
     $cd->add(StudentTryoutPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
     $cd->add(StudentTryoutPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $cd->add(StudentTryoutPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $stugrades = StudentTryoutPeer::doSelect($cd);
     $grades = array();
     $grade_avg = array();
     foreach ($stugrades as $stugrade) {
         $grades[$stugrade->getStudentId() . '#' . $stugrade->getGradeSpecId()] = $stugrade->getGrade();
         $grade_avg[$stugrade->getStudentId() . '#' . $stugrade->getGradeSpecId()] = (array_key_exists($stugrade->getStudentId() . '#' . $stugrade->getGradeSpecId(), $grade_avg) ? $grade_avg[$stugrade->getStudentId() . '#' . $stugrade->getGradeSpecId()] : 0) + $stugrade->getGrade();
     }
     $this->grades = $grades;
     $this->grade_avg = $grade_avg;
     $c = new Criteria();
     $c->addJoin(VStudentAccalPeer::STUDENT_ID, VStudentActivePeer::ID);
     $c->add(VStudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $c->add(VStudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $c->addAscendingOrderByColumn(VStudentAccalPeer::CLASS_NAME);
     $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'student'));
     $this->getUser()->setAttribute('max_per_page', $rpp, 'student');
     $pager = new sfPropelPager('VStudentAccal', $rpp);
     $pager->setCriteria($c);
     $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'student'));
     $this->getUser()->setAttribute('page', $page, 'student');
     $pager->setPage($page);
     $pager->init();
     $this->pager = $pager;
     $this->student_count = VStudentAccalPeer::doCount($c);
     $this->subtitle = $course_schedule->getSubjectCurr()->getSubject()->getName() . ' - ' . $course_schedule->getClassGroup()->toString();
     $this->course_schedule = $course_schedule;
     $cem = new Criteria();
     $cem->add(CourseRegulationPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $cem->add(CourseRegulationPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $cem->add(CourseRegulationPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
     $course_reg = CourseRegulationPeer::doSelectOne($cem);
     $this->course_reg = $course_reg;
     $this->papersize = 'a4';
     $this->setLayout(false);
     $this->orientation = 'potrait';
     $this->setViewClass('sfDomPDF');
 }
コード例 #21
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function filterSchedule($c, $filters)
 {
     $filters_key = array_keys($filters);
     foreach ($filters_key as $key) {
         $value = $filters[$key];
         if ($value == '' || $value == null) {
             continue;
         }
         if ($key == 'ACADEMIC_CALENDAR_ID') {
             $c->addJoin(AcademicCalendarPeer::ID, SubjectAccalPeer::ACADEMIC_CALENDAR_ID);
             $c->addJoin(CourseSchedulePeer::SUBJECT_ACCAL_ID, SubjectAccalPeer::ID);
             $column = SubjectAccalPeer::getTableMap()->getColumn($key);
         } elseif ($key == 'SUBJECT_ID') {
             $c->addJoin(SubjectPeer::ID, SubjectAccalPeer::SUBJECT_ID);
             $c->addJoin(SubjectAccalPeer::ID, CourseSchedulePeer::SUBJECT_ACCAL_ID);
             $column = SubjectAccalPeer::getTableMap()->getColumn($key);
         } else {
             $column = CourseSchedulePeer::getTableMap()->getColumn($key);
         }
         $name = $column->getFullyQualifiedName();
         $creoleType = $column->getCreoleType();
         if ($creoleType == CreoleTypes::TIMESTAMP) {
             $from = $value['from'];
             $to = $value['to'];
             if ($from != '' && $from != null) {
                 $c->add($name, $from, Criteria::GREATER_EQUAL);
             }
             if ($to != '' && $to != null) {
                 $c->add($name, $to, Criteria::LESS_EQUAL);
             }
         } else {
             if ($creoleType == CreoleTypes::INTEGER) {
                 $c->add($name, $value, Criteria::EQUAL);
             } else {
                 if ($creoleType == CreoleTypes::VARCHAR) {
                     $c->add($name, "%{$value}%", Criteria::LIKE);
                 }
             }
         }
     }
 }
コード例 #22
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeGetListAfective()
 {
     $course_id = $this->getRequestParameter('course_id');
     $course_schedule = CourseSchedulePeer::retrieveByPK($course_id);
     $this->forward404Unless($course_schedule);
     $this->course_schedule = $course_schedule;
     $grade_spec_id = $this->getRequestParameter('grade_spec_id');
     $grade_spec = GradeSpecPeer::retrieveByPK($grade_spec_id);
     $this->forward404Unless($grade_spec);
     $this->grade_spec = $grade_spec;
     if ($grade_spec_id) {
         $c = new Criteria();
         $c->addJoin(VStudentAccalPeer::STUDENT_ID, VStudentActivePeer::ID);
         $c->add(VStudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
         $c->add(VStudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
         $c->addAscendingOrderByColumn(VStudentAccalPeer::CLASS_NAME);
     } else {
         $c = new Criteria();
         $c->add(VStudentAccalPeer::ACADEMIC_CALENDAR_ID, -1);
     }
     $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'student'));
     $this->getUser()->setAttribute('max_per_page', $rpp, 'student');
     $pager = new sfPropelPager('VStudentAccal', $rpp);
     $pager->setCriteria($c);
     $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'student'));
     $this->getUser()->setAttribute('page', $page, 'student');
     $pager->setPage($page);
     $pager->init();
     $this->pager = $pager;
     ## Mengelompokkan Penilaian Anak berdasarkan Tahun Ajaran dan Kelas
     $cr = new Criteria();
     $cr->add(StudentGradeRaportPeer::COURSE_SCHEDULE_ID, $course_schedule->getId());
     $stugrades = StudentGradeRaportPeer::doSelect($cr);
     $this->stugrades = $stugrades;
     $grades = array();
     $grade_avg = array();
     foreach ($stugrades as $stugrade) {
         $grades[$stugrade->getStudentAccalId() . '#' . $stugrade->getGradeSpecId()] = $stugrade->getGrade();
         $grade_avg[$stugrade->getGradeSpecId()] = (array_key_exists($stugrade->getGradeSpecId(), $grade_avg) ? $grade_avg[$stugrade->getGradeSpecId()] : 0) + $stugrade->getGrade();
     }
     $this->grades = $grades;
     $this->grade_avg = $grade_avg;
     $cw = new Criteria();
     $cw->add(CourseRegulationPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $cw->add(CourseRegulationPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $cw->add(CourseRegulationPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId());
     $course_reg = CourseRegulationPeer::doSelectOne($cw);
     $this->course_reg = $course_reg;
     $this->subtitle = $grade_spec->toString() . ' - ' . $grade_spec->getParentName();
     $actions3 = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value")), array('name' => 'get_template', 'url' => "course_afective/getTemplateAfective?course_id=" . $course_id . "&grade_spec_id=" . $grade_spec_id, 'color' => 'black', 'type' => 'direct'), array('name' => 'reset', 'type' => 'reset', 'options' => array('class' => 'save_button', 'onclick' => "\$\$('.score').each(function(el){el.style.borderColor='';el.style.borderWidth='';});")));
     $this->actions3 = $actions3;
 }
コード例 #23
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeGetDetail()
 {
     $academic_calendar_id = $this->getRequestParameter('academic_calendar_id');
     $academic_calendar = AcademicCalendarPeer::retrieveByPK($academic_calendar_id);
     $this->academic_calendar = $academic_calendar;
     $student_id = $this->getRequestParameter('student_id');
     $stu = StudentPeer::retrieveByPK($student_id);
     $this->forward404Unless($stu);
     $this->stu = $stu;
     $c = new Criteria();
     $c->add(StudentAccalPeer::STUDENT_ID, $student_id, Criteria::IN);
     $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $academic_calendar_id, Criteria::IN);
     $stu_accal = StudentAccalPeer::doSelectOne($c);
     $this->forward404Unless($stu_accal);
     $this->stu_accal = $stu_accal;
     $cw = new Criteria();
     $cw->add(CounselingPeer::CLASS_GROUP_ID, $stu_accal->getClassGroupId());
     $cw->add(CounselingPeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getParent());
     $counseling = CounselingPeer::doSelectOne($cw);
     $this->counseling = $counseling;
     $cr = new Criteria();
     $cr->add(GradeSpecPeer::PARENT, 1);
     $this->grade1 = GradeSpecPeer::doSelect($cr);
     $this->count1 = GradeSpecPeer::doCount($cr);
     $crew = new Criteria();
     $crew->add(GradeSpecPeer::PARENT, 7);
     $this->grade2 = GradeSpecPeer::doSelect($crew);
     $this->count2 = GradeSpecPeer::doCount($crew);
     #SMP
     if ($academic_calendar->getDepartmentId() == 2) {
         $cb = new Criteria();
         $cb->add(VCoursePeer::CLASS_GROUP_ID, $stu_accal->getClassGroupId(), Criteria::IN);
         $cb->add(VCoursePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId(), Criteria::IN);
         $cb->add(VCoursePeer::SUBJECT_CURR_ID, 316, Criteria::NOT_IN);
         $cb->addAscendingOrderByColumn(VCoursePeer::CODE);
         $this->subjects = VCoursePeer::doSelect($cb);
         $this->subject_count = VCoursePeer::doCount($cb);
         #SD
     } elseif ($academic_calendar->getDepartmentId() == 3) {
         $cb = new Criteria();
         $cb->add(VCoursePeer::CLASS_GROUP_ID, $stu_accal->getClassGroupId(), Criteria::IN);
         $cb->add(VCoursePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId(), Criteria::IN);
         $cb->add(VCoursePeer::SUBJECT_GROUP_ID, 7, Criteria::IN);
         $cb->add(VCoursePeer::SUBJECT_CURR_ID, 319, Criteria::NOT_IN);
         $cb->add(VCoursePeer::SUBJECT_CURR_ID, 333, Criteria::NOT_IN);
         $cb->addAscendingOrderByColumn(VCoursePeer::CODE);
         $this->subjects7 = VCoursePeer::doSelect($cb);
         $subject_count7 = VCoursePeer::doCount($cb);
         $this->subject_count7 = $subject_count7;
         $cm = new Criteria();
         $cm->add(VCoursePeer::CLASS_GROUP_ID, $stu_accal->getClassGroupId(), Criteria::IN);
         $cm->add(VCoursePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId(), Criteria::IN);
         $cm->add(VCoursePeer::SUBJECT_GROUP_ID, 8, Criteria::IN);
         $cm->addAscendingOrderByColumn(VCoursePeer::CODE);
         $this->subjects8 = VCoursePeer::doSelect($cm);
         $subject_count8 = VCoursePeer::doCount($cm);
         $this->subject_count8 = $subject_count8;
     }
     $rpp = $this->getRequestParameter('max_per_page', 999);
     $pager = new sfPropelPager('VCourse', $rpp);
     $pager->setCriteria($c);
     $pager->setPage($this->getRequestParameter('page', 1));
     $pager->init();
     $this->pager = $pager;
     $c = new Criteria();
     $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $stu_accal->getClassGroupId(), Criteria::IN);
     $c->add(CourseSchedulePeer::ACADEMIC_CALENDAR_ID, $academic_calendar->getId(), Criteria::IN);
     $c->add(CourseSchedulePeer::SUBJECT_CURR_ID, 319, Criteria::NOT_IN);
     $c->add(CourseSchedulePeer::SUBJECT_CURR_ID, 316, Criteria::NOT_IN);
     $objs = CourseSchedulePeer::doSelect($c);
     $subjects = array();
     foreach ($objs as $o) {
         $subjects[$o->getId()] = $o->getSubjectCurr()->getSubject()->getName();
     }
     $this->subjects = $subjects;
 }
コード例 #24
0
 public static function doSelectJoinAllExceptEmployee(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     ClassCounselPeer::addSelectColumns($c);
     $startcol2 = ClassCounselPeer::NUM_COLUMNS - ClassCounselPeer::NUM_LAZY_LOAD_COLUMNS + 1;
     CourseSchedulePeer::addSelectColumns($c);
     $startcol3 = $startcol2 + CourseSchedulePeer::NUM_COLUMNS;
     StudentPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + StudentPeer::NUM_COLUMNS;
     CounselingStatusPeer::addSelectColumns($c);
     $startcol5 = $startcol4 + CounselingStatusPeer::NUM_COLUMNS;
     ClassGroupPeer::addSelectColumns($c);
     $startcol6 = $startcol5 + ClassGroupPeer::NUM_COLUMNS;
     $c->addJoin(ClassCounselPeer::COURSE_SCHEDULE_ID, CourseSchedulePeer::ID);
     $c->addJoin(ClassCounselPeer::STUDENT_ID, StudentPeer::ID);
     $c->addJoin(ClassCounselPeer::COUNSELING_STATUS_ID, CounselingStatusPeer::ID);
     $c->addJoin(ClassCounselPeer::CLASS_GROUP_ID, ClassGroupPeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = ClassCounselPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = CourseSchedulePeer::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->getCourseSchedule();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addClassCounsel($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initClassCounsels();
             $obj2->addClassCounsel($obj1);
         }
         $omClass = StudentPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj3 = new $cls();
         $obj3->hydrate($rs, $startcol3);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj3 = $temp_obj1->getStudent();
             if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj3->addClassCounsel($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj3->initClassCounsels();
             $obj3->addClassCounsel($obj1);
         }
         $omClass = CounselingStatusPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj4 = new $cls();
         $obj4->hydrate($rs, $startcol4);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj4 = $temp_obj1->getCounselingStatus();
             if ($temp_obj4->getPrimaryKey() === $obj4->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj4->addClassCounsel($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj4->initClassCounsels();
             $obj4->addClassCounsel($obj1);
         }
         $omClass = ClassGroupPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj5 = new $cls();
         $obj5->hydrate($rs, $startcol5);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj5 = $temp_obj1->getClassGroup();
             if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj5->addClassCounsel($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj5->initClassCounsels();
             $obj5->addClassCounsel($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
コード例 #25
0
ファイル: BaseEmployee.php プロジェクト: taryono/school
 public function getCourseSchedulesJoinAcademicCalendar($criteria = null, $con = null)
 {
     include_once 'lib/model/om/BaseCourseSchedulePeer.php';
     if ($criteria === null) {
         $criteria = new Criteria();
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collCourseSchedules === null) {
         if ($this->isNew()) {
             $this->collCourseSchedules = array();
         } else {
             $criteria->add(CourseSchedulePeer::EMPLOYEE_ID, $this->getId());
             $this->collCourseSchedules = CourseSchedulePeer::doSelectJoinAcademicCalendar($criteria, $con);
         }
     } else {
         $criteria->add(CourseSchedulePeer::EMPLOYEE_ID, $this->getId());
         if (!isset($this->lastCourseScheduleCriteria) || !$this->lastCourseScheduleCriteria->equals($criteria)) {
             $this->collCourseSchedules = CourseSchedulePeer::doSelectJoinAcademicCalendar($criteria, $con);
         }
     }
     $this->lastCourseScheduleCriteria = $criteria;
     return $this->collCourseSchedules;
 }
コード例 #26
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeListRecapt()
 {
     $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);
     $this->course_schedule = $course_schedule;
     $actions = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value")));
     #array_unshift($actions, array('name'=>'Print Excel','url'=>"course_sd/listRecaptAsCSV?course_id=".$course_schedule->getId(), 'color'=>'black', 'type'=>'direct'));
     #array_unshift($actions, array('name'=>'Print PDF','url'=>"course_sd/listRecaptAsPDF?course_id=".$course_schedule->getId(), 'color'=>'black', 'type'=>'direct'));
     $this->actions = $actions;
     ## Mengambil Kompetensi Dasar Untuk KI.3
     $cur13_ki = ScoreRule::THREE;
     $ct = new Criteria();
     $ct->add(Cur13TermPeer::CUR13_KI_ID, $cur13_ki);
     $ct->add(Cur13TermPeer::COURSE_SCHEDULE_ID, $course_schedule->getId());
     $cur13_terms = Cur13TermPeer::doSelect($ct);
     $cur13_term_count = Cur13TermPeer::doCount($ct);
     $this->cur13_terms = $cur13_terms;
     $this->cur13_term_count = $cur13_term_count;
     $actions2 = array(array('name' => '<span>Penilaian 2013</span>', 'url' => 'course_sd/list?accal_id=' . $course_schedule->getAcademicCalendarId() . '&class_id=' . $course_schedule->getClassGroupId(), 'color' => 'sky'));
     array_push($actions2, array('name' => '<span>Proses Nilai KI.3 (Pengetahuan)</span>', 'url' => 'course_sd/listRecapt?course_id=' . $course_schedule->getId(), 'color' => 'sun', 'type' => 'direct'));
     array_push($actions2, array('name' => '<span>Proses Nilai KI.4 (Keterampilan)</span>', 'url' => 'course_sd/listRecaptKi4?course_id=' . $course_schedule->getId(), 'color' => 'sky'));
     $this->actions2 = $actions2;
     $this->subtitle = $course_schedule->getAcademicCalendar()->getName() . ' # ' . $course_schedule->getSubjectCurr()->getSubject()->getName() . ' - id:' . $course_schedule->getId();
     $this->type = 'edit';
     $this->cur13_ki = $cur13_ki;
     $this->title = 'Proses Nilai Raport KI.3 (Pengetahuan)';
     $c = new Criteria();
     $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $c->add(StudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $c->addJoin(StudentPeer::ID, StudentAccalPeer::STUDENT_ID);
     $c->add(StudentPeer::STATUS, Student::STATUS_ACTIVE);
     $c->addAscendingOrderByColumn(StudentPeer::CLASS_NAME);
     $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'student'));
     $this->getUser()->setAttribute('max_per_page', $rpp, 'student');
     $pager = new sfPropelPager('Student', $rpp);
     $pager->setCriteria($c);
     $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'student'));
     $this->getUser()->setAttribute('page', $page, 'student');
     $pager->setPage($page);
     $pager->init();
     $this->pager = $pager;
     ## Mengambil Student Accal Id
     $cm = new Criteria();
     $cm->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $cm->add(StudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $stu_accals = StudentAccalPeer::doSelect($cm);
     $student_accal_id = array();
     foreach ($stu_accals as $stu_accal) {
         $student_accal_id[$stu_accal->getStudentId()] = $stu_accal->getId();
     }
     $this->student_accal_id = $student_accal_id;
     $cri = new Criteria();
     $stuterms = Cur13GradeTermPeer::doSelect($cri);
     $this->stuterms = $stuterms;
     $grade_scale = array();
     $grade_value = array();
     $remark = array();
     foreach ($stuterms as $stuterm) {
         $grade_scale[$stuterm->getStudentAccalId() . '#' . $stuterm->getCur13TermId()] = $stuterm->getGradeScale();
         $grade_value[$stuterm->getStudentAccalId() . '#' . $stuterm->getCur13TermId()] = $stuterm->getGrade();
         $remark[$stuterm->getStudentAccalId() . '#' . $stuterm->getCur13TermId()] = $stuterm->getRemark();
     }
     $this->grade_scale = $grade_scale;
     $this->grade_value = $grade_value;
     $this->remark = $remark;
     $ct = new Criteria();
     $ct->add(GradeConversionPeer::GRADE_CONVERSION_TEMPLATE_ID, 17);
     $grade_convs = GradeConversionPeer::doSelect($ct);
     $descript_select = array();
     foreach ($grade_convs as $grade_conv) {
         $descript_select[$grade_conv->getName()] = $grade_conv->getDescription();
     }
     $this->descript_select = $descript_select;
 }
コード例 #27
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeListScoreAsCSV()
 {
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $course_schedule_id = $course_schedule->getId();
     $cr = new Criteria();
     $cr->add(GradeSpecPeer::PARENT, 1);
     $cr->addAscendingOrderByColumn(GradeSpecPeer::CODE);
     $this->grade1 = GradeSpecPeer::doSelect($cr);
     $this->count1 = GradeSpecPeer::doCount($cr);
     $cw = new Criteria();
     $cw->add(GradeSpecPeer::PARENT, 7);
     $cw->addAscendingOrderByColumn(GradeSpecPeer::CODE);
     $this->grade2 = GradeSpecPeer::doSelect($cw);
     $this->count2 = GradeSpecPeer::doCount($cw);
     $cm = new Criteria();
     $cm->addJoin(StudentAccalPeer::STUDENT_ID, VStudentActivePeer::ID);
     $cm->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $cm->add(StudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $c = new Criteria();
     $c->add(StudentAccalPeer::ACADEMIC_CALENDAR_ID, $course_schedule->getAcademicCalendarId());
     $c->add(StudentAccalPeer::CLASS_GROUP_ID, $course_schedule->getClassGroupId());
     $c->addJoin(VStudentActivePeer::ID, StudentAccalPeer::STUDENT_ID);
     $c->addJoin(StudentPeer::ID, VStudentActivePeer::ID);
     $c->addAscendingOrderByColumn(StudentPeer::CLASS_NAME);
     $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'student'));
     $this->getUser()->setAttribute('max_per_page', $rpp, 'student');
     $pager = new sfPropelPager('Student', $rpp);
     $pager->setCriteria($c);
     $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'student'));
     $this->getUser()->setAttribute('page', $page, 'student');
     $pager->setPage($page);
     $pager->init();
     $this->pager = $pager;
     $this->student_count = StudentAccalPeer::doCount($cm);
     $this->subtitle = $course_schedule->getSubjectCurr()->getSubject()->getName() . ' - ' . $course_schedule->getClassGroup()->toString();
     $this->course_schedule = $course_schedule;
     $this->setLayout(false);
     $this->getResponse()->setHttpHeader('Content-Type', 'text/csv');
     $this->getResponse()->setHttpHeader('Content-Disposition', 'attachment; filename="' . $this->getModuleName() . '.csv"');
 }
コード例 #28
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeEdit()
 {
     $student_id = $this->getRequestParameter('student_id');
     $student = StudentPeer::retrieveByPK($student_id);
     $this->forward404Unless($student);
     $this->student = $student;
     $group_id = $this->getContext()->getUser()->getAttribute('group_id', null, 'bo');
     $c = new Criteria();
     $c->add(JobPeer::CODE, $this->getModuleName());
     $job = JobPeer::doSelectOne($c);
     $acl = AclPeer::retrieveByPK($group_id, $job->getId());
     if (!$acl) {
         $this->forward('default', 'error404');
     }
     $this->can_add = $acl->getAddPriv() == 1;
     $this->can_edit = $acl->getEditPriv() == 1;
     $this->can_remove = $acl->getRemovePriv() == 1;
     $student_course = StudentCoursePeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($student_course);
     $accal_options = array();
     $accals = $student_course->getSubjectAccal()->getAcademicCalendar()->getCurriculum()->getAcademicCalendars();
     foreach ($accals as $accal) {
         $accal_options[$accal->getId()] = $accal->toString();
     }
     $c = new Criteria();
     $c->add(AcademicCalendarPeer::ID, $student_course->getSubjectAccal()->getAcademicCalendarId());
     $c->addJoin(SubjectAccalPeer::ACADEMIC_CALENDAR_ID, AcademicCalendarPeer::ID);
     $c->addJoin(SubjectAccalPeer::SUBJECT_ID, SubjectPeer::ID);
     $c->addAscendingOrderByColumn(AcademicCalendarPeer::CODE);
     $c->addAscendingOrderByColumn(SubjectPeer::CODE);
     $c->addAscendingOrderByColumn(SubjectPeer::NAME);
     $c->setDistinct();
     $subject_accals = SubjectAccalPeer::doSelect($c);
     $subject_accal_options = array();
     foreach ($subject_accals as $subject_accal) {
         if ($subject_accal->getSubject()) {
             $subject_accal_options[$subject_accal->getId()] = $subject_accal->toString();
         }
     }
     $disabled_sa = array();
     $saved_student_courses = $student->getStudentCourses();
     foreach ($saved_student_courses as $ssc) {
         if ($student_course->getId() != $ssc->getId()) {
             $disabled_sa[] = $ssc->getSubjectAccalId();
         }
     }
     $objs = SubjectAccalPeer::doSelectByAccal();
     foreach ($objs as $o) {
         $content[$o->getId()] = $o->toStringWithLector();
         $c = new Criteria();
         $c->add(SubjectAccalPeer::ID, $o->getId());
         $c->add(SubjectCurrPeer::SUBJECT_ID, $o->getSubjectId());
         $c->addJoin(AcademicCalendarPeer::ID, SubjectAccalPeer::ACADEMIC_CALENDAR_ID);
         $c->addJoin(AcademicCalendarPeer::CURRICULUM_ID, SubjectCurrPeer::CURRICULUM_ID);
         $c->addJoin(SubjectCurrPeer::ID, SubjectPrereqPeer::SUBCURR);
         $sps = SubjectPrereqPeer::doSelect($c);
         foreach ($sps as $sp) {
             $s = $sp->getSubjectCurrRelatedBySubcurrPrereq()->getSubject();
             // prereq subject must be in closed state
             $c = new Criteria();
             $c->add(SubjectAccalPeer::SUBJECT_ID, $s->getId());
             $c->add(StudentCoursePeer::STUDENT_ID, $student_id);
             $c->add(StudentCoursePeer::STATUS, StudentCourse::STATUS_CLOSED);
             $c->addJoin(StudentCoursePeer::SUBJECT_ACCAL_ID, SubjectAccalPeer::ID);
             $scs = StudentCoursePeer::doSelect($c);
             $isPassGrade = false;
             $isPassCredit = true;
             $isPassIndex = true;
             foreach ($scs as $sc) {
                 $grade = $sc->getFinalGrade();
                 $gc = GradeConversionPeer::retrieveByName($grade[0]);
                 // check prereq subject grade
                 if ($gc && $gc->getGrade() >= $sp->getGradeConversion()->getGrade()) {
                     $isPassGrade = true;
                 } else {
                     $isPassGrade = false;
                 }
                 // check credit requirement
                 if ($sp->getTotalCredit() > 0) {
                     if ($sc->getTotalCreditClosed() >= $sp->getTotalCredit()) {
                         $isPassCredit = true;
                     } else {
                         $isPassCredit = false;
                     }
                 }
                 // check index requirement
                 if ($sp->getPerformanceIndex() > 0) {
                     if ($sc->getPerformanceIndex() >= $sp->getPerformanceIndex()) {
                         $isPassIndex = true;
                     } else {
                         $isPassIndex = false;
                     }
                 }
             }
             $s0 = $sp->getSubjectCurrRelatedBySubcurrPrereq()->getSubject()->toString();
             $s1 = $sp->getSubjectCurrRelatedBySubcurr()->getSubject()->toString();
             if (!$isPassGrade || !$isPassCredit || !$isPassIndex) {
                 $disabled_sa[] = $o->getId();
             }
         }
     }
     $actions = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value")));
     if ($acl->getRemovePriv()) {
         array_push($actions, array('name' => 'delete', 'url' => 'student_course_s/delete?student_id=' . $student->getId() . '&id=' . $student_course->getId(), 'color' => 'red'));
     }
     array_push($actions, array('name' => 'cancel', 'url' => 'student_course_s/list?student_id=' . $student->getId(), 'color' => 'white'));
     $c = new Criteria();
     $c->add(CourseSchedulePeer::SUBJECT_ACCAL_ID, $student_course->getSubjectAccalId());
     $c->add(CourseSchedulePeer::CLASS_GROUP_ID, $student_course->getClassGroupId());
     $objs = CourseSchedulePeer::doSelect($c);
     $schedules = array();
     foreach ($objs as $o) {
         $schedules[$o->getId()] = $o->toStringLong();
     }
     $this->subject_accal_options = $subject_accal_options;
     $this->accal_options = $accal_options;
     $this->disabled_sa = $disabled_sa;
     $this->subtitle = $student->toString() . ' - id:' . $student_course->getId();
     $this->type = 'edit';
     $this->student_course = $student_course;
     $this->actions = $actions;
     $this->schedules = $schedules;
 }
コード例 #29
0
ファイル: actions.class.php プロジェクト: taryono/school
 public function executeEdit()
 {
     $group_id = $this->getContext()->getUser()->getAttribute('group_id', null, 'bo');
     $c = new Criteria();
     $c->add(JobPeer::CODE, $this->getModuleName());
     $job = JobPeer::doSelectOne($c);
     $acl = AclPeer::retrieveByPK($group_id, $job->getId());
     if (!$acl) {
         $this->forward('default', 'error404');
     }
     $this->can_add = $acl->getAddPriv() == 1;
     $this->can_edit = $acl->getEditPriv() == 1;
     $this->can_remove = $acl->getRemovePriv() == 1;
     $course_schedule = CourseSchedulePeer::retrieveByPK($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $course_schedule_id = $course_schedule->getId();
     $grade_options = array();
     $c = new Criteria();
     $c->add(SubjectGradingPeer::SUBJECT_CURR_ID, $course_schedule->getSubjectCurrId(), Criteria::IN);
     $c->addAscendingOrderByColumn(SubjectGradingPeer::ID);
     $grades = SubjectGradingPeer::doSelect($c);
     foreach ($grades as $grade) {
         $grade_options[$grade->getId()] = $grade->getGradeComponent()->toString();
     }
     $this->grade_options = $grade_options;
     $class_agenda = ClassAgendaPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($class_agenda);
     $actions = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value")));
     if ($acl->getRemovePriv()) {
         array_push($actions, array('name' => 'delete', 'url' => 'class_agenda/delete?id=' . $class_agenda->getId() . '&sched_id=' . $course_schedule->getId(), 'color' => 'red'));
     }
     array_push($actions, array('name' => 'cancel', 'url' => 'class_agenda/list?id=' . $course_schedule->getId(), 'color' => 'black'));
     $this->subtitle = $class_agenda->toString() . ' - id:' . $class_agenda->getId();
     $this->type = 'edit';
     $this->class_agenda = $class_agenda;
     $this->actions = $actions;
     $this->course_schedule_id = $class_agenda->getCourseScheduleId();
     $this->course_schedule = $course_schedule;
     $actions2 = array(array('name' => '<span>Jadwal Pelajaran</span>', 'url' => 'course_sched/list', 'color' => 'sky'));
     array_push($actions2, array('name' => '<span>Agenda Kelas</span>', 'url' => 'class_agenda/list?id=' . $course_schedule->getId(), 'color' => 'sun', 'type' => 'direct'));
     $this->actions2 = $actions2;
 }
コード例 #30
0
ファイル: BaseCourseSchedule.php プロジェクト: taryono/school
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = CourseSchedulePeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setId($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setSubjectAccalId($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setSubjectCurrId($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setEmployeeId($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setClassGroupId($arr[$keys[4]]);
     }
     if (array_key_exists($keys[5], $arr)) {
         $this->setLocationId($arr[$keys[5]]);
     }
     if (array_key_exists($keys[6], $arr)) {
         $this->setDay($arr[$keys[6]]);
     }
     if (array_key_exists($keys[7], $arr)) {
         $this->setClassSessionId($arr[$keys[7]]);
     }
     if (array_key_exists($keys[8], $arr)) {
         $this->setAcademicCalendarId($arr[$keys[8]]);
     }
     if (array_key_exists($keys[9], $arr)) {
         $this->setKkm($arr[$keys[9]]);
     }
     if (array_key_exists($keys[10], $arr)) {
         $this->setName($arr[$keys[10]]);
     }
     if (array_key_exists($keys[11], $arr)) {
         $this->setSemester($arr[$keys[11]]);
     }
     if (array_key_exists($keys[12], $arr)) {
         $this->setCapacity($arr[$keys[12]]);
     }
 }