Esempio n. 1
0
 public function executeRun()
 {
     $this->applicant = $this->applicant;
     $this->error = false;
     $this->regTestPeriod = RegTestPeriodPeer::retrieveByPK($this->applicant->getRegTestPeriod1());
     if (!$this->regTestPeriod) {
         $this->success = true;
         $this->messageError = 'RegTestPeriod not found';
         return false;
     }
     $cd = new Criteria();
     $cd->add(TestSchedulePeer::REG_TEST_PERIOD_ID, $this->regTestPeriod->getId());
     $cd->addJoin(TestSchedulePeer::ID, TestApplSchedPeer::TEST_SCHEDULE_ID);
     $cd->add(TestApplSchedPeer::TEST_APPLICANT_ID, $this->applicant->getId());
     $this->testAppl = TestApplSchedPeer::doSelectOne($cd);
     if (!$this->testAppl) {
         $this->success = true;
         $this->messageError = 'Test Applicant Schedule not found';
         return false;
     }
     $cd = new Criteria();
     $cd->add(RegSchedulePeer::REG_PERIOD_ID, $this->regTestPeriod->getRegPeriodId(), Criteria::EQUAL);
     $cd->addAscendingOrderByColumn(RegSchedulePeer::START);
     $this->regSchedules = RegSchedulePeer::doSelect($cd);
 }
Esempio n. 2
0
 public function executeView()
 {
     $user_id = $this->getContext()->getUser()->getAttribute('user_id', null, 'bo');
     $test_applicant = TestApplicantPeer::retrieveByPk($user_id);
     $c = new Criteria();
     $c->add(TestApplSchedPeer::TEST_APPLICANT_ID, $test_applicant->getId());
     $c->add(AcademicCalendarPeer::DEPARTMENT_ID, $test_applicant->getDepartment1());
     $c->addJoin(AcademicCalendarPeer::ID, RegPeriodPeer::ACADEMIC_CALENDAR_ID);
     $c->addJoin(RegPeriodPeer::ID, RegTestPeriodPeer::REG_PERIOD_ID);
     $c->addJoin(RegTestPeriodPeer::ID, TestSchedulePeer::REG_TEST_PERIOD_ID);
     $c->addJoin(TestSchedulePeer::ID, TestApplSchedPeer::TEST_SCHEDULE_ID);
     $appl_sched1 = TestApplSchedPeer::doSelectJoinTestSchedule($c);
 }
Esempio n. 3
0
    echo 'Mohon Maaf Anda dinyatakan <b>TIDAK LULUS</b>';
} elseif ($applicant->getStatus() == StudentDetail::RESERVE) {
    echo 'Anda berada dalam daftar <b>CADANGAN</b>';
}
?>
   
                 </p>
                 <?php 
$c = new Criteria();
$c->add(TestApplSchedPeer::TEST_APPLICANT_ID, $applicant->getId());
$c->add(AcademicCalendarPeer::DEPARTMENT_ID, $applicant->getDepartment1());
$c->addJoin(AcademicCalendarPeer::ID, RegPeriodPeer::ACADEMIC_CALENDAR_ID);
$c->addJoin(RegPeriodPeer::ID, RegTestPeriodPeer::REG_PERIOD_ID);
$c->addJoin(RegTestPeriodPeer::ID, TestSchedulePeer::REG_TEST_PERIOD_ID);
$c->addJoin(TestSchedulePeer::ID, TestApplSchedPeer::TEST_SCHEDULE_ID);
$appl_sched1 = TestApplSchedPeer::doSelectJoinTestSchedule($c);
$cr = new Criteria();
$cr->add(TestSubjectPeer::DEPARTMENT_ID, $applicant->getDepartment1());
$t_subject1 = TestSubjectPeer::doSelect($cr);
$t_count1 = TestSubjectPeer::doCount($cr);
?>
                <fieldset>
                    <legend>Hasil Test</legend>
						<div style="width:100%;">
                    		<table cellspacing="0" cellpadding="0" class="fancy" style="width:100%">
								<tbody>
									<tr>
										<th style="border-right: 1px solid #ffffff;" colspan="2"><?php 
echo __('Pendaftaran');
?>
</th>
            $c->add(TestScorePeer::TEST_APPLICANT_ID, $test_appl_sched->getTestApplicantId());
            $c->add(TestScorePeer::TEST_SUBJECT_ID, $t_sub->getId());
            $tg = TestScorePeer::doSelectOne($c);
            ?>
		<?php 
            echo $tg != null ? $tg->getGrade() : '-';
            ?>
        </td>
        <?php 
        }
        ?>
		<?php 
        $c = new Criteria();
        $c->add(TestApplSchedPeer::TEST_APPLICANT_ID, $test_appl_sched->getTestApplicantId());
        $c->add(TestApplSchedPeer::TEST_SCHEDULE_ID, $test_appl_sched->getTestScheduleId());
        $app_rank = TestApplSchedPeer::doSelectOne($c);
        ?>
        <td><?php 
        echo $app_rank->getAvgGrade();
        ?>
</td>
        <td><?php 
        echo $app_rank->getRank();
        ?>
</td>
        <td>
        <?php 
        if ($test_appl_sched->getTestApplicant()->getStatus() == StudentDetail::REGISTER) {
            echo __('Terdaftar');
        } elseif ($test_appl_sched->getTestApplicant()->getStatus() == StudentDetail::GRADUATE) {
            echo __('Lulus');
Esempio n. 5
0
 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('')));
     /* ---- */
 }
Esempio n. 6
0
        ?>
</td>        
                    <td><?php 
        echo $test_schedule->getLocation() ? $test_schedule->getLocation()->toString() : '-';
        ?>
</td>
                    <td><?php 
        echo $test_schedule->getLocation() ? $test_schedule->getLocation()->getCapacity() : '-';
        ?>
</td>                    
                    <td align="center" style="text-align:center;">
                    	<?php 
        $c = new Criteria();
        $c->add(TestApplSchedPeer::TEST_SCHEDULE_ID, $test_schedule->getId());
        #$c->add(TestApplicantPeer::LOCATION1, $test_schedule->getLocationId());
        $applicant_count = TestApplSchedPeer::doCount($c);
        echo link_to_remote($applicant_count, array('url' => 'locate_test/listApplicant?id=' . $test_schedule->getId(), 'update' => 'content', 'script' => 'true', 'loading' => "showIndicator('content', 'snakebig_black');", 'complete' => "hideIndicator()"), array('class' => 'white', 'title' => __('Jumlah Peserta')));
        ?>
                    </td>
				</tr>
		<?php 
    }
    ?>
		<?php 
}
?>
			</tbody>
		</table>
		<?php 
if ($pager->getNbResults() > 1) {
    ?>
Esempio n. 7
0
 public function executeSaveResult()
 {
     $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');
     $test_applicant_id = $this->getRequestParameter('test_applicant_id');
     $test_schedule_id = $this->getRequestParameter('test_schedule_id');
     $dept_id = $this->getRequestParameter('department_id');
     $c = new Criteria();
     $c->add(TestApplSchedPeer::TEST_APPLICANT_ID, $this->getRequestParameter('test_applicant_id'));
     $c->add(TestApplSchedPeer::TEST_SCHEDULE_ID, $this->getRequestParameter('test_schedule_id'));
     $test_appl_sched = TestApplSchedPeer::doSelectOne($c);
     $test_appl_sched->setTestApplicantId($this->getRequestParameter('test_applicant_id'));
     $test_appl_sched->setTestScheduleId($this->getRequestParameter('test_schedule_id'));
     $test_appl_sched->setRank('rank');
     $test_appl_sched->setDescription('description');
     $test_appl_sched->save();
     $test_applicant = TestApplicantPeer::retrieveByPK($this->getRequestParameter('test_applicant_id'));
     $test_applicant->setStatus('status');
     $test_applicant->save();
     return $this->redirect('test_schedule/listApplicant?id=' . $test_schedule_id . '&dept_id=' . $dept_id);
 }
Esempio n. 8
0
 public function executeRegistrationCard()
 {
     $id = $this->getRequestParameter('id');
     $this->forward404Unless($id);
     $ta = TestApplicantPeer::retrieveByPK($id);
     $this->forward404Unless($ta);
     $this->filename = $this->getActionName() . '_' . $ta->getCode();
     $cw = new Criteria();
     $cw->add(DepartmentDetailPeer::DEPARTMENT_ID, $ta->getDepartment1());
     $this->department_detail = DepartmentDetailPeer::doSelectOne($cw);
     $c = new Criteria();
     $c->add(TestApplSchedPeer::TEST_APPLICANT_ID, $ta->getId());
     $c->add(AcademicCalendarPeer::DEPARTMENT_ID, $ta->getDepartment1());
     $c->addJoin(AcademicCalendarPeer::ID, RegPeriodPeer::ACADEMIC_CALENDAR_ID);
     $c->addJoin(RegPeriodPeer::ID, RegTestPeriodPeer::REG_PERIOD_ID);
     $c->addJoin(RegTestPeriodPeer::ID, TestSchedulePeer::REG_TEST_PERIOD_ID);
     $c->addJoin(TestSchedulePeer::ID, TestApplSchedPeer::TEST_SCHEDULE_ID);
     $appl_sched1 = TestApplSchedPeer::doSelectJoinTestSchedule($c);
     $this->ta = $ta;
     $this->ta_detail = $ta->getTestApplicantDetail();
     $this->sched1 = $appl_sched1;
     $this->setLayout(false);
     $this->orientation = 'landscape';
     #$this->papersize = 'letter';
     $this->papersize = 'gdscform';
     $this->setViewClass('sfDomPDF');
 }
Esempio n. 9
0
 public function executeGraduateReceipt()
 {
     $ta_id = $this->getRequestParameter('id');
     $ta = TestApplicantPeer::retrieveByPK($ta_id);
     $this->forward404Unless($ta);
     $this->ta = $ta;
     $this->ta_detail = $ta->getTestApplicantDetail();
     $ta_detail = $ta->getTestApplicantDetail();
     $this->ta_detail = $ta_detail;
     $cw = new Criteria();
     $cw->add(DepartmentDetailPeer::DEPARTMENT_ID, $ta->getDepartment1());
     $this->department_detail = DepartmentDetailPeer::doSelectOne($cw);
     $cm = new Criteria();
     $cm->add(TestApplicantParentsPeer::TEST_APPLICANT_ID, $ta->getId());
     $cm->add(TestApplicantParentsPeer::RELATION, StudentParents::RELATION_FATHER);
     $father = TestApplicantParentsPeer::doSelectOne($cm);
     if ($father == null) {
         $father = new TestApplicantParents();
     }
     $cl = new Criteria();
     $cl->add(TestApplicantParentsPeer::TEST_APPLICANT_ID, $ta->getId());
     $cl->add(TestApplicantParentsPeer::RELATION, StudentParents::RELATION_MOTHER);
     $mother = TestApplicantParentsPeer::doSelectOne($cl);
     if ($mother == null) {
         $mother = new TestApplicantParents();
     }
     $c = new Criteria();
     $c->add(TestApplSchedPeer::TEST_APPLICANT_ID, $ta->getId());
     $c->add(AcademicCalendarPeer::DEPARTMENT_ID, $ta->getDepartment1());
     $c->addJoin(AcademicCalendarPeer::ID, RegPeriodPeer::ACADEMIC_CALENDAR_ID);
     $c->addJoin(RegPeriodPeer::ID, RegTestPeriodPeer::REG_PERIOD_ID);
     $c->addJoin(RegTestPeriodPeer::ID, TestSchedulePeer::REG_TEST_PERIOD_ID);
     $c->addJoin(TestSchedulePeer::ID, TestApplSchedPeer::TEST_SCHEDULE_ID);
     $appl_sched1 = TestApplSchedPeer::doSelectJoinTestSchedule($c);
     $this->setTemplate('graduateReceipt');
     $this->papersize = 'a4';
     $this->father = $father;
     $this->mother = $mother;
     $this->sched1 = $appl_sched1;
     $this->orientation = 'portrait';
     $this->setLayout(false);
     $this->setViewClass('sfDomPDF');
 }
Esempio n. 10
0
 public static function retrieveByPK($test_applicant_id, $test_schedule_id, $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(self::DATABASE_NAME);
     }
     $criteria = new Criteria();
     $criteria->add(TestApplSchedPeer::TEST_APPLICANT_ID, $test_applicant_id);
     $criteria->add(TestApplSchedPeer::TEST_SCHEDULE_ID, $test_schedule_id);
     $v = TestApplSchedPeer::doSelect($criteria, $con);
     return !empty($v) ? $v[0] : null;
 }
Esempio n. 11
0
 public function getTestApplSchedsJoinTestSchedule($criteria = null, $con = null)
 {
     include_once 'lib/model/om/BaseTestApplSchedPeer.php';
     if ($criteria === null) {
         $criteria = new Criteria();
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collTestApplScheds === null) {
         if ($this->isNew()) {
             $this->collTestApplScheds = array();
         } else {
             $criteria->add(TestApplSchedPeer::TEST_APPLICANT_ID, $this->getId());
             $this->collTestApplScheds = TestApplSchedPeer::doSelectJoinTestSchedule($criteria, $con);
         }
     } else {
         $criteria->add(TestApplSchedPeer::TEST_APPLICANT_ID, $this->getId());
         if (!isset($this->lastTestApplSchedCriteria) || !$this->lastTestApplSchedCriteria->equals($criteria)) {
             $this->collTestApplScheds = TestApplSchedPeer::doSelectJoinTestSchedule($criteria, $con);
         }
     }
     $this->lastTestApplSchedCriteria = $criteria;
     return $this->collTestApplScheds;
 }
Esempio n. 12
0
 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');
 }
Esempio n. 13
0
 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());
 }
Esempio n. 14
0
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = TestApplSchedPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setTestApplicantId($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setTestScheduleId($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setAvgGrade($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setRank($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setDescription($arr[$keys[4]]);
     }
 }
Esempio n. 15
0
                                                                                                        <th style="font-size: 11px; text-align:  left; text-transform: capitalize; "><?php 
    echo 'Lokasi Test';
    ?>
</th>
                                                                                                        <th style="font-size: 11px; text-align:  left; text-transform: capitalize; "><?php 
    echo 'Tanggal';
    ?>
</th>
                                                                                            </tr>
                                                                                                        <?php 
    $reg_test_period = RegTestPeriodPeer::retrieveByPK($applicant->getRegTestPeriod1());
    $cd = new Criteria();
    $cd->add(TestSchedulePeer::REG_TEST_PERIOD_ID, $reg_test_period->getId());
    $cd->addJoin(TestSchedulePeer::ID, TestApplSchedPeer::TEST_SCHEDULE_ID);
    $cd->add(TestApplSchedPeer::TEST_APPLICANT_ID, $applicant->getId());
    $test_appl = TestApplSchedPeer::doSelectOne($cd);
    ?>
                                                                                                                <tr class="x">
                                                                                                                            <td><?php 
    echo $reg_test_period->getRegPeriod() ? $reg_test_period->getRegPeriod()->getName() : '-';
    ?>
</td>
                                                                                                                            <td><?php 
    echo $test_appl ? $test_appl->getTestSchedule() ? $test_appl->getTestSchedule()->getLocation()->getCampus() . ' - ' . $test_appl->getTestSchedule()->getLocation()->getBuilding() : '-' : '-';
    ?>
</td>
                                                                                                                            <td> <?php 
    echo DateToIndo($reg_test_period->getStart());
    ?>
</td>
                                                                                                                </tr>
Esempio n. 16
0
 public static function doSelectByTestSchedule($test_schedule_id)
 {
     #if ($test_schedule_id == null) return array();
     $cr = new Criteria();
     $cr->add(TestApplSchedPeer::TEST_SCHEDULE_ID, $test_schedule_id);
     $test_schedule = TestApplSchedPeer::doCount($cr);
     #if ($test_schedule == null) return array();
     $c = new Criteria();
     $c->add(LocationPeer::LOCATION_CATEGORY_ID, 22, Criteria::IN);
     $c->add(LocationPeer::CAPACITY, $test_schedule, Criteria::NOT_IN);
     $objs = LocationPeer::doSelect($c);
     return $objs;
 }