public function isSchedFull() { $scheds = array(); $is_full = false; $c = new Criteria(); $c->add(TestSchedulePeer::REG_TEST_PERIOD_ID, $this->getId()); $schedules = TestSchedulePeer::doSelect($c); foreach ($schedules as $sched) { $key = 'ts_' . $sched->getRegTestPeriodId(); $cap = $sched->getLocation()->getCapacity(); $ta_count = $sched->countTestApplScheds(); $available = $cap - $ta_count; if (array_key_exists($key, $scheds)) { if ($scheds[$key] > 0) { continue; } else { $is_full = $available == 0; } } else { if ($available == 0) { $is_full = true; } } $scheds[$key] = $available; } return $is_full; }
public function getTestSchedule($con = null) { include_once 'lib/model/om/BaseTestSchedulePeer.php'; if ($this->aTestSchedule === null && $this->test_schedule_id !== null) { $this->aTestSchedule = TestSchedulePeer::retrieveByPK($this->test_schedule_id, $con); } return $this->aTestSchedule; }
public function executePaymentProcess() { $this->getEnquirer(); if (!$this->filterUser(true)) { $this->jsonwrapper->print_json(array('success' => false, 'code' => 'security', 'message' => 'You must login to access this url.')); } $applicant = $this->pmbTools->getApplicant($this->user); if (!$applicant) { $this->jsonwrapper->show_json_error('Permission', 'You dont have permission to access this page'); } if ($applicant->getStatus() != StudentDetail::BUY && $applicant->getStatus() != StudentDetail::WEB && $applicant->getStatus() != StudentDetail::CONFIRM) { $this->jsonwrapper->show_json_error('Permission', 'You dont have permission to access this page'); } $param = $this->getAllRequestParameter(); $valid = true; $error_message = array(); /* payment method */ if (empty($param['payment_method'])) { $error_message[] = array('field' => 'payment_method', 'message' => 'Please enter payment method'); $valid = false; } else { $paymentMethod = PaymentModelPeer::retrieveByPK($param['payment_method']); if (!$paymentMethod) { $error_message[] = array('field' => 'payment_method', 'message' => 'Payment method not exist'); $valid = false; } } /* payment date */ if (empty($param['payment_date'])) { $error_message[] = array('field' => 'payment_date', 'message' => 'Please enter payment date'); $valid = false; } if (!$valid) { $this->jsonwrapper->print_json(array('success' => false, 'code' => 'notvalid', 'error' => $error_message)); } /* Start Transaction */ $connection = Propel::getConnection('propel'); $connection->begin(); /* Set Up Registration Test Period */ $regPeriod = $this->pmbTools->getRegistrationPeriod($applicant->getDepartment1()); if (!$regPeriod) { $this->jsonwrapper->show_json_error('TestPeriod', 'Registration Period not found'); } $c = new Criteria(); $c->add(RegTestPeriodPeer::REG_PERIOD_ID, $regPeriod->getId()); $regTestPeriods = RegTestPeriodPeer::doSelect($c); $save = false; foreach ($regTestPeriods as $reg_test_period) { $cw = new Criteria(); $cw->add(TestSchedulePeer::REG_TEST_PERIOD_ID, $reg_test_period->getId()); $cw->addAscendingorderByColumn(TestSchedulePeer::ID); $scheds = TestSchedulePeer::doSelect($cw); $s1 = array(); foreach ($scheds as $s) { $s1[$s->getRegTestPeriodId()][] = array('reg_test_period_id' => $s->getRegTestPeriodId(), 'used' => $s->countTestApplScheds(), 'capacity' => $s->getCapacity(), 'sched' => $s); } foreach ($s1 as $s) { $c = new Criteria(); $c->add(TestSchedulePeer::REG_TEST_PERIOD_ID, $reg_test_period->getId()); $c->addJoin(TestApplSchedPeer::TEST_SCHEDULE_ID, TestSchedulePeer::ID); $c->add(TestApplSchedPeer::TEST_APPLICANT_ID, $applicant->getId()); $tas = TestApplSchedPeer::doSelectOne($c); if ($tas == null) { $i = 0; while ($s[$i]) { $sched = $s[$i]; if ($sched['used'] < $sched['capacity']) { $tas = new TestApplSched(); $tas->setTestApplicant($applicant); $tas->setTestSchedule($sched['sched']); try { $tas->save(); $save = true; } catch (Exception $e) { $connection->rollback(); $this->jsonwrapper->print_json(array('success' => false, 'code' => 'fail', 'message' => 'Error while save test applicant schedule, please try again later.')); } break; } $i++; } } } if (!$save) { $connection->rollback(); $this->jsonwrapper->print_json(array('success' => false, 'code' => 'fail', 'message' => 'Error.')); } $regTestPeriod = $reg_test_period; $applicant->setRegTestPeriod1($reg_test_period->getId()); try { $applicant->save(); } catch (Exception $e) { $connection->rollback(); $this->jsonwrapper->print_json(array('success' => false, 'code' => 'fail', 'message' => 'Error while save test applicant registration test period, please try again later.')); } break; } /* Save new applicant code */ $newCode = $this->pmbTools->generateApplicantCode(StudentDetail::WEB); $applicant->setStatus(StudentDetail::CONFIRM); $applicant->setCode($newCode); try { $applicant->save(); } catch (Exception $e) { $connection->rollback(); $this->jsonwrapper->print_json(array('success' => false, 'code' => 'fail', 'message' => 'Error while save the applicant data, please try again later.')); } /* Set Payment */ $paymentDate = date('Y-m-d', strtotime($param['payment_date'])); $c = new Criteria(); $cton1 = $c->getNewCriterion(AcademicCostPeer::ACADEMIC_CALENDAR_ID, $regTestPeriod->getRegPeriod()->getAcademicCalendarId(), Criteria::IN); $cton2 = $c->getNewCriterion(AcademicCostPeer::ACADEMIC_PROCESS_ID, 1, Criteria::IN); $cton3 = $c->getNewCriterion(AcademicCostPeer::ACADEMIC_COST_COMPONENT_ID, 1, Criteria::IN); $cton2->addAnd($cton3); $cton1->addAnd($cton2); $c->add($cton1); $costs = AcademicCostPeer::doSelect($c); $total_cost = 0; foreach ($costs as $cost) { $c = new Criteria(); $c->add(PaymentApplicantPeer::TEST_APPLICANT_ID, $applicant->getId()); $payment_applicant = PaymentApplicantPeer::doSelectOne($c); if ($payment_applicant == null) { $payment_applicant = new PaymentApplicant(); } $payment_applicant->setTestApplicant($applicant); $payment_applicant->setPaymentModelId($paymentMethod->getId()); $payment_applicant->setPaidAt($paymentDate); $payment_applicant->setAcademicCostId($cost->getId()); $payment_applicant->setAcademicProcessId(1); $payment_applicant->setAmount($cost->getAmount()); $payment_applicant->setPayerType(PaymentJournal::PAYER_TYPE_APPLICANT); $payment_applicant->setStatus('S'); $payment_applicant->setPaid($cost->getAmount()); echo 'a'; try { $payment_applicant->save(); } catch (Exception $e) { $connection->rollback(); $this->jsonwrapper->print_json(array('success' => false, 'code' => 'fail', 'message' => 'Error while save the data, please try again later.')); } } /* Commit Transaction */ $connection->rollback(); /* $connection->commit(); */ $this->jsonwrapper->print_json(array('success' => true, 'code' => 'success', 'message' => 'Data successfully saved', 'href' => $this->pmbTools->pmbUrl(''))); /* ---- */ }
public static function doSelectJoinAllExceptRegPeriod(Criteria $c, $con = null) { $c = clone $c; if ($c->getDbName() == Propel::getDefaultDB()) { $c->setDbName(self::DATABASE_NAME); } TempApplicantPeer::addSelectColumns($c); $startcol2 = TempApplicantPeer::NUM_COLUMNS - TempApplicantPeer::NUM_LAZY_LOAD_COLUMNS + 1; TestApplicantPeer::addSelectColumns($c); $startcol3 = $startcol2 + TestApplicantPeer::NUM_COLUMNS; TestSchedulePeer::addSelectColumns($c); $startcol4 = $startcol3 + TestSchedulePeer::NUM_COLUMNS; $c->addJoin(TempApplicantPeer::TEST_APPLICANT_ID, TestApplicantPeer::ID); $c->addJoin(TempApplicantPeer::TEST_SCHEDULE_ID, TestSchedulePeer::ID); $rs = BasePeer::doSelect($c, $con); $results = array(); while ($rs->next()) { $omClass = TempApplicantPeer::getOMClass(); $cls = Propel::import($omClass); $obj1 = new $cls(); $obj1->hydrate($rs); $omClass = TestApplicantPeer::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->getTestApplicant(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { $newObject = false; $temp_obj2->addTempApplicant($obj1); break; } } if ($newObject) { $obj2->initTempApplicants(); $obj2->addTempApplicant($obj1); } $omClass = TestSchedulePeer::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->getTestSchedule(); if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) { $newObject = false; $temp_obj3->addTempApplicant($obj1); break; } } if ($newObject) { $obj3->initTempApplicants(); $obj3->addTempApplicant($obj1); } $results[] = $obj1; } return $results; }
public function executeUpdate() { ## Kelas yang dipilih $class = ClassGroupPeer::retrieveByPK($this->getRequestParameter('class_group1')); $dept = DepartmentPeer::retrieveByPk($this->getRequestParameter('department_id')); $cd = new Criteria(); $cd->add(AcademicCalendarPeer::CURR_SYSTEM_ID, 2); $cd->add(AcademicCalendarPeer::COURSE_MODEL, 'C'); $cd->add(AcademicCalendarPeer::DEPARTMENT_ID, $dept->getId()); $accal_applicant = AcademicCalendarPeer::doSelectOne($cd); $applicant_detail = new TestApplicantDetail(); $applicant_detail->setId($this->getRequestParameter('test_applicant_detail_id')); $applicant_detail->setShortName($this->getRequestParameter('short_name')); $applicant_detail->setPob($this->getRequestParameter('pob')); if ($this->getRequestParameter('dob')) { $applicant_detail->setDob($this->getRequestParameter('dob')); } $applicant_detail->setSex($this->getRequestParameter('sex')); $applicant_detail->setReligionId($this->getRequestParameter('religion_id')); $applicant_detail->setCountryId($this->getRequestParameter('country_id')); $applicant_detail->setNativeLanguage($this->getRequestParameter('native_language')); $applicant_detail->setFather($this->getRequestParameter('father')); $applicant_detail->setMother($this->getRequestParameter('mother')); $applicant_detail->setFatherJob($this->getRequestParameter('father_job')); $applicant_detail->setMotherJob($this->getRequestParameter('mother_job')); $applicant_detail->setDetailFatherJob($this->getRequestParameter('detail_father_job')); $applicant_detail->setDetailMotherJob($this->getRequestParameter('detail_mother_job')); $applicant_detail->setAddress($this->getRequestParameter('address')); $applicant_detail->setPostCode($this->getRequestParameter('post_code')); $applicant_detail->setRegionId($this->getRequestParameter('region_id')); $applicant_detail->setPhone($this->getRequestParameter('home_phone')); $applicant_detail->setCellphone($this->getRequestParameter('father_cellphone')); $applicant_detail->setCompany($this->getRequestParameter('company')); $applicant_detail->setParentName($this->getRequestParameter('father')); $applicant_detail->setJobTitle($this->getRequestParameter('job_title')); $applicant_detail->setSchoolOfOrigin($this->getRequestParameter('school_of_origin')); $applicant_detail->setSchoolOfOriginAddress($this->getRequestParameter('school_of_origin_address')); $applicant_detail->setRegNote($this->getRequestParameter('reg_note')); $applicant_detail->setChildNumber($this->getRequestParameter('child_number')); $applicant_detail->setBloodSiblings($this->getRequestParameter('blood_siblings')); $applicant_detail->setStepSiblings($this->getRequestParameter('step_siblings')); $applicant_detail->setOrphanageStatus($this->getRequestParameter('orphanage_status')); $applicant_detail->setResidenceStatus($this->getRequestParameter('residence_status')); $applicant_detail->setHomeDistance($this->getRequestParameter('home_distance')); $applicant_detail->setTransport($this->getRequestParameter('transport')); #$applicant_detail->setAcademicCalendarId($accal_applicant->getId()); $applicant_detail->setIllness($this->getRequestParameter('illness')); $applicant_detail->setIllnessNote($this->getRequestParameter('illness_note')); $applicant_detail->setGraduationGrade($this->getRequestParameter('graduation_grade')); $applicant_detail->setGraduationYear($this->getRequestParameter('graduation_year')); $applicant_detail->setBloodType($this->getRequestParameter('blood_type')); $applicant_detail->setTall($this->getRequestParameter('tall')); $applicant_detail->setWeight($this->getRequestParameter('weight')); $applicant_detail->save(); $applicant = new TestApplicant(); $is_new = true; $applicant->setId($this->getRequestParameter('id')); $applicant->setName($this->getRequestParameter('name')); $applicant->setCode2($this->getRequestParameter('code2')); $applicant->setClassGroup1($this->getRequestParameter('class_group1')); $applicant->setDepartment1($this->getRequestParameter('department_id')); ## Siswa Dalam if ($this->getRequestParameter('is_alazhar') == TestApplicant::IS_ALAZHAR) { $code_appl = '.' . $dept->getCode() . '.A'; } else { $code_appl = '.' . $dept->getCode() . '.B'; } $stu_code = ParamsPeer::retrieveByCode('sma_code'); $sc = $stu_code->getValue(); $sc = explode('$', $sc); array_shift($sc); $code_len = 0; $code = ''; foreach ($sc as $k => $v) { $v = explode('#', $v); if ($v[0] == 'year') { $code_a = substr($accal_applicant->getName(), 2, 2); $code_b = substr($accal_applicant->getName(), 7, 2); $yr = $code_a . '/' . $code_b; if (strlen($yr) <= $v[1]) { $code .= str_pad($yr, $v[1], '0', STR_PAD_LEFT); } else { $code .= substr($yr, strlen($yr) - $v[1]); } $code_len += $v[1]; } elseif ($v[0] == 'app') { $code_len += $v[1]; $code .= str_pad($code_appl, $v[1], '0', STR_PAD_LEFT); } elseif ($v[0] == 'seq') { $c = new Criteria(); $c->add(TestApplicantPeer::CODE, $code . '%', Criteria::LIKE); $c->addDescendingOrderByColumn(TestApplicantPeer::CODE); $c->setLimit(1); $last_applicant = TestApplicantPeer::doSelectOne($c); if ($last_applicant) { $lap = $last_applicant->getCode(); $lap = substr_replace($lap, '', 0, $code_len); $lap = substr($lap, 0, $v[1]); $lap++; $code .= str_pad($lap, $v[1], '0', STR_PAD_LEFT); } else { $code .= str_pad(1, $v[1], '0', STR_PAD_LEFT); break; } } $sc[$k] = $v; } $applicant->setCode($code); $applicant->setDepartment2($accal_applicant->getId()); $applicant->setApplicantType(TestApplicant::STATUS_NEW); $applicant->setYear($accal_applicant->getYear()); $applicant->setCode2($this->getRequestParameter('code2')); $applicant->setIsAlazhar($this->getRequestParameter('is_alazhar')); $crypted = sha1(sfConfig::get('app_salt') . $applicant_detail->getDob('dmY')); $applicant->setPassword($crypted); $applicant->setStatus(StudentDetail::WEB); $applicant->setTestApplicantDetail($applicant_detail); if ($dept->getCourseModel() == Department::CM_SMP) { $applicant->setClassGroup2($this->getRequestParameter('class_group2')); } elseif ($dept->getCourseModel() == Department::CM_SMA) { //$applicant->setClassGroup2($this->getRequestParameter('program')); } $applicant->save(); $c = new Criteria(); $c->add(RegPeriodPeer::CURRICULUM_ID, $applicant->getIsAlazhar()); $c->add(RegPeriodPeer::ACADEMIC_CALENDAR_ID, $applicant->getDepartment2()); $c->addJoin(RegTestPeriodPeer::REG_PERIOD_ID, RegPeriodPeer::ID); $reg_test_periods = RegTestPeriodPeer::doSelect($c); foreach ($reg_test_periods as $reg_test_period) { $cw = new Criteria(); $cw->add(TestSchedulePeer::REG_TEST_PERIOD_ID, $reg_test_period->getId()); $cw->addAscendingorderByColumn(TestSchedulePeer::ID); $scheds = TestSchedulePeer::doSelect($cw); $s1 = array(); foreach ($scheds as $s) { $s1[$s->getRegTestPeriodId()][] = array('reg_test_period_id' => $s->getRegTestPeriodId(), 'used' => $s->countTestApplScheds(), 'capacity' => $s->getCapacity(), 'sched' => $s); } foreach ($s1 as $s) { $c = new Criteria(); $c->add(TestSchedulePeer::REG_TEST_PERIOD_ID, $reg_test_period->getId()); $c->addJoin(TestApplSchedPeer::TEST_SCHEDULE_ID, TestSchedulePeer::ID); $c->add(TestApplSchedPeer::TEST_APPLICANT_ID, $applicant->getId()); $tas = TestApplSchedPeer::doSelectOne($c); if ($tas == null) { $i = 0; while ($s[$i]) { $sched = $s[$i]; if ($sched['used'] < $sched['capacity']) { $tas = new TestApplSched(); $tas->setTestApplicant($applicant); $tas->setTestSchedule($sched['sched']); $tas->save(); break; } $i++; } } } $test_applicant = TestApplicantPeer::retrieveByPk($applicant->getId()); $this->forward404Unless($test_applicant); $test_applicant->setRegTestPeriod1($reg_test_period->getId()); $test_applicant->save(); } if ($applicant_detail->getDetailFatherJob() == 1) { $father_job == 'Guru / Pengajar / Karyawan AlAzhar'; } elseif ($applicant_detail->getDetailFatherJob() == 2) { $father_job == 'Guru / Pengajar Non ALAzhar'; } elseif ($applicant_detail->getDetailFatherJob() == 3) { $father_job == 'Pegawai Swasta'; } elseif ($applicant_detail->getDetailFatherJob() == 4) { $father_job == 'Pegawai Negeri Sipil'; } elseif ($applicant_detail->getDetailFatherJob() == 5) { $father_job == 'Wiraswasta'; } elseif ($applicant_detail->getDetailFatherJob() == 6) { $father_job == 'Tidak Bekerja'; } else { $father_job == 'Lainnya'; } if ($applicant_detail->getDetailMotherJob() == 1) { $mother_job == 'Guru / Pengajar / Karyawan AlAzhar'; } elseif ($applicant_detail->getDetailMotherJob() == 2) { $mother_job == 'Guru / Pengajar Non ALAzhar'; } elseif ($applicant_detail->getDetailMotherJob() == 3) { $mother_job == 'Pegawai Swasta'; } elseif ($applicant_detail->getDetailMotherJob() == 4) { $mother_job == 'Pegawai Negeri Sipil'; } elseif ($applicant_detail->getDetailMotherJob() == 5) { $mother_job == 'Wiraswasta'; } elseif ($applicant_detail->getDetailMotherJob() == 6) { $mother_job == 'Tidak Bekerja'; } else { $mother_job == 'Lainnya'; } #Data Orang Tua (Ayah) $applicant_father = new TestApplicantParents(); $applicant_father->setName($this->getRequestParameter('father')); $applicant_father->setTestApplicant($applicant); if ($this->getRequestParameter('father_dob')) { $applicant_father->setDob($this->getRequestParameter('father_dob')); } $applicant_father->setPob($this->getRequestParameter('father_pob')); $applicant_father->setReligionId($this->getRequestParameter('religion_father')); $applicant_father->setDegreeId($this->getRequestParameter('degree_father')); $applicant_father->setJob($father_job); $applicant_father->setAddress($this->getRequestParameter('address')); $applicant_father->setOfficePhone($this->getRequestParameter('father_office_phone')); $applicant_father->setPostCode($this->getRequestParameter('post_code')); $applicant_father->setRegionId($this->getRequestParameter('region_id')); $applicant_father->setHomePhone($this->getRequestParameter('home_phone')); $applicant_father->setCellphone($this->getRequestParameter('father_cellphone')); $applicant_father->setCountryId($this->getRequestParameter('father_country')); $applicant_father->setMonthlyRevenue($this->getRequestParameter('father_revenue')); $applicant_father->setEmail($this->getRequestParameter('email')); $applicant_father->setNote($this->getRequestParameter('father_note')); $applicant_father->setNoteDetail($this->getRequestParameter('father_note_detail')); if ($this->getRequestParameter('father_date_note')) { $applicant_father->setNoteDate($this->getRequestParameter('father_date_note')); } $applicant_father->setRelation(StudentParents::RELATION_FATHER); $applicant_father->save(); #Data Orang Tua (Ibu) $applicant_mother = new TestApplicantParents(); $applicant_mother->setName($this->getRequestParameter('mother')); $applicant_mother->setTestApplicant($applicant); if ($this->getRequestParameter('mother_dob')) { $applicant_mother->setDob($this->getRequestParameter('mother_dob')); } $applicant_mother->setPob($this->getRequestParameter('mother_pob')); $applicant_mother->setReligionId($this->getRequestParameter('religion_mother')); $applicant_mother->setDegreeId($this->getRequestParameter('degree_mother')); $applicant_mother->setJob($mother_job); $applicant_mother->setAddress($this->getRequestParameter('address')); $applicant_mother->setOfficePhone($this->getRequestParameter('mother_office_phone')); $applicant_mother->setPostCode($this->getRequestParameter('post_code')); $applicant_mother->setRegionId($this->getRequestParameter('region_id')); $applicant_mother->setHomePhone($this->getRequestParameter('home_phone')); $applicant_mother->setCellphone($this->getRequestParameter('mother_cellphone')); $applicant_mother->setCountryId($this->getRequestParameter('mother_country')); $applicant_mother->setMonthlyRevenue($this->getRequestParameter('mother_revenue')); $applicant_mother->setEmail($this->getRequestParameter('email')); $applicant_mother->setNote($this->getRequestParameter('mother_note')); $applicant_mother->setNoteDetail($this->getRequestParameter('mother_note_detail')); if ($this->getRequestParameter('mother_date_note')) { $applicant_mother->setNoteDate($this->getRequestParameter('mother_date_note')); } $applicant_mother->setRelation(StudentParents::RELATION_MOTHER); $applicant_mother->save(); $this->getContext()->getUser()->signInTestApplicant($applicant); #return $this->redirect('auth/start'); return $this->redirect('auth/index'); }
public function executeEditResult() { $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; $c = new Criteria(); $c->add(TestApplSchedPeer::TEST_SCHEDULE_ID, $this->getRequestParameter('id')); $c->add(TestApplSchedPeer::TEST_APPLICANT_ID, $this->getRequestParameter('appl_id')); $this->test_appl_sched = TestApplSchedPeer::doSelectOne($c); $this->forward404Unless($this->test_appl_sched); $this->test_applicant = TestApplicantPeer::retrieveByPk($this->getRequestParameter('appl_id')); $this->forward404Unless($this->test_applicant); $this->test_schedule = TestSchedulePeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($this->test_schedule); $this->department = DepartmentPeer::retrieveByPk($this->getRequestParameter('dept_id')); $this->forward404Unless($this->department); }
public function getTestSchedulesJoinTestSubject($criteria = null, $con = null) { include_once 'lib/model/om/BaseTestSchedulePeer.php'; if ($criteria === null) { $criteria = new Criteria(); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collTestSchedules === null) { if ($this->isNew()) { $this->collTestSchedules = array(); } else { $criteria->add(TestSchedulePeer::LOCATION_ID, $this->getId()); $this->collTestSchedules = TestSchedulePeer::doSelectJoinTestSubject($criteria, $con); } } else { $criteria->add(TestSchedulePeer::LOCATION_ID, $this->getId()); if (!isset($this->lastTestScheduleCriteria) || !$this->lastTestScheduleCriteria->equals($criteria)) { $this->collTestSchedules = TestSchedulePeer::doSelectJoinTestSubject($criteria, $con); } } $this->lastTestScheduleCriteria = $criteria; return $this->collTestSchedules; }
public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = TestSchedulePeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setRegTestPeriodId($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setTestSubjectId($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setLocationId($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setStart($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { $this->setEnd($arr[$keys[5]]); } if (array_key_exists($keys[6], $arr)) { $this->setCapacity($arr[$keys[6]]); } }
public function executeSelectByRegTestPeriod() { $reg_test_period_id = $this->getRequestParameter('reg_test_period_id'); $c = new Criteria(); $c->add(TestSchedulePeer::REG_TEST_PERIOD_ID, $reg_test_period_id); $test_schedule = TestSchedulePeer::doSelectOne($c); $test_schedule_id = $test_schedule->getId(); $objs = LocationPeer::doSelectByTestSchedule($test_schedule_id); $content = array(); $disabled = array(); foreach ($objs as $o) { $content[$o->getId()] = $o->toStringWithCap(); } $this->content = $content; $this->disabled = $disabled; }
public function executeUpdateLocation() { $params = array(); foreach (explode('&', $this->getRequestParameter('student_list_ser')) as $p) { $p = explode('=', $p); $params[rawurldecode($p[0])][] = rawurldecode($p[1]); } $ts = TestSchedulePeer::retrieveByPK($this->getRequestParameter('id')); if (array_key_exists('students', $params)) { foreach ($params['students'] as $stu_id) { $stu = TestApplicantPeer::retrieveByPk($stu_id); $c = new Criteria(); $c->add(TestApplSchedPeer::TEST_APPLICANT_ID, $stu->getId()); $c->add(TestApplSchedPeer::TEST_SCHEDULE_ID, $ts->getId()); $tas = TestApplSchedPeer::doSelectOne($c); $tas->setTestScheduleId($this->getRequestParameter('test_schedule_id')); $tas->setTestApplicantId($stu->getId()); $tas->save(); } } return $this->redirect('locate_test/listApplicant?id=' . $ts->getId()); }
public static function retrieveByPKs($pks, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(); $criteria->add(TestSchedulePeer::ID, $pks, Criteria::IN); $objs = TestSchedulePeer::doSelect($criteria, $con); } return $objs; }