Exemple #1
0
 public static function getParents()
 {
     $parents = array();
     foreach (PaymentModelPeer::doSelect(new Criteria()) as $d) {
         if (count($d->getPaymentModelsRelatedByParent()) > 0) {
             $parents[] = $d->getId();
         }
     }
     return $parents;
 }
Exemple #2
0
 public function getParentalIndex()
 {
     $parentalIndex = "#" . str_pad($this->getId(), 3, '0', STR_PAD_LEFT);
     $this->level = 1;
     if ($this->getParent() !== null && $this->getParent() != 0) {
         $p = PaymentModelPeer::retrieveByPK($this->getParent());
         $parentalIndex = str_pad($p->getParentalIndex(), 3, '0', STR_PAD_LEFT) . "_" . $parentalIndex;
         $this->level += $p->level;
     }
     $this->parentalIndex = $parentalIndex;
     return $parentalIndex;
 }
Exemple #3
0
 public function getPaymentModel($con = null)
 {
     include_once 'lib/model/om/BasePaymentModelPeer.php';
     if ($this->aPaymentModel === null && $this->payment_model_id !== null) {
         $this->aPaymentModel = PaymentModelPeer::retrieveByPK($this->payment_model_id, $con);
     }
     return $this->aPaymentModel;
 }
Exemple #4
0
 public function executeDelete()
 {
     $payment_model = PaymentModelPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($payment_model);
     $ref_error = 0;
     foreach ($payment_model->getRefCountMethods() as $ref) {
         $method = "count" . $ref['affix'];
         $count = $payment_model->{$method}();
         if ($count > 0) {
             ++$ref_error;
             $this->getRequest()->setError('payment_model/delete/' . sfInflector::camelize($ref['table']), $count);
         }
     }
     if ($ref_error > 0) {
         $this->getRequest()->setError('payment_model/delete', '_ERR_DELETE_ (' . $payment_model->toString() . ' - id:' . $payment_model->getId() . ')');
     } else {
         $payment_model->delete();
     }
     return $this->forward('payment_model', 'list');
 }
Exemple #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('')));
     /* ---- */
 }
Exemple #6
0
      
			<?php 
#echo form_error('paid_at')
?>
		   
           </td>
        </tr>
        <tr>
           <td style="vertical-align:middle;"><label ><?php 
echo __('Model Pembayaran');
?>
</label></td>
           <td width="2%" style="text-align:center; vertical-align:middle;">:</td>
		   <td style="vertical-align:middle;">
			<?php 
echo my_object_select_tag($payment_student, 'getPaymentModelId', PaymentModelPeer::getParents(), array('related_class' => 'PaymentModel', 'include_blank' => true, 'peer_method' => 'doSelectOrdered'));
?>
		   
           	<?php 
echo form_error('payment_model_id');
?>
	
           </td>
        </tr>
        <tr>
           <td style="vertical-align:middle;"><label ><?php 
echo __('Total Kewajiban');
?>
</label></td>
           <td width="2%" style="text-align:center; vertical-align:middle;">:</td>
		   <td style="vertical-align:middle;">
Exemple #7
0
 public function filterStudent($c, $filters)
 {
     $filters_key = array_keys($filters);
     foreach ($filters_key as $key) {
         $value = $filters[$key];
         if ($value == '' || $value == null) {
             continue;
         }
         if ($key == 'DEPARTMENT_ID') {
             $c->addJoin(AcademicCalendarPeer::ID, StudentPeer::ACADEMIC_CALENDAR_ID);
             $c->addJoin(DepartmentPeer::ID, AcademicCalendarPeer::DEPARTMENT_ID);
             $column = DepartmentPeer::getTableMap()->getColumn('ID');
         } elseif ($key == 'CLASS_NAME') {
             $c->addJoin(ClassGroupPeer::ID, StudentPeer::CLASS_GROUP_ID);
             $column = ClassGroupPeer::getTableMap()->getColumn('NAME');
         } elseif ($key == 'ACADEMIC_COST_COMPONENT_ID') {
             $c->addJoin(PaymentJournalPeer::PAYER, StudentPeer::ID);
             $c->addJoin(AcademicCostPeer::ID, PaymentJournalPeer::ACADEMIC_COST_ID);
             $c->addJoin(AcademicCostComponentPeer::ID, AcademicCostPeer::ACADEMIC_COST_COMPONENT_ID);
             $column = AcademicCostComponentPeer::getTableMap()->getColumn('ID');
         } elseif ($key == 'PAID_AT') {
             $c->addJoin(PaymentJournalPeer::PAYER, StudentPeer::ID);
             $column = PaymentJournalPeer::getTableMap()->getColumn('PAID_AT');
         } elseif ($key == 'STATUS') {
             $c->addJoin(PaymentJournalPeer::PAYER, StudentPeer::ID);
             $column = PaymentJournalPeer::getTableMap()->getColumn('STATUS');
         } elseif ($key == 'PAYMENT_MODEL_ID') {
             $c->addJoin(PaymentJournalPeer::PAYER, StudentPeer::ID);
             $c->addJoin(PaymentModelPeer::ID, PaymentJournalPeer::PAYMENT_MODEL_ID);
             $column = PaymentModelPeer::getTableMap()->getColumn('ID');
         } else {
             $column = StudentPeer::getTableMap()->getColumn($key);
         }
         $name = $column->getFullyQualifiedName();
         $creoleType = $column->getCreoleType();
         if ($creoleType == CreoleTypes::TIMESTAMP) {
             $c->add($name, $value, Criteria::EQUAL);
         } else {
             if ($creoleType == CreoleTypes::DATE) {
                 $c->add($name, $value, Criteria::EQUAL);
             } else {
                 if ($creoleType == CreoleTypes::INTEGER) {
                     if ($name == StudentPeer::CLASS_GROUP_ID) {
                         $cg = ClassGroupPeer::retrieveByPK($value);
                         $c->add($name, $cg->getChildRecurs(), Criteria::IN);
                     } else {
                         $c->add($name, $value, Criteria::EQUAL);
                     }
                 } else {
                     if ($creoleType == CreoleTypes::VARCHAR || $creoleType == CreoleTypes::CHAR) {
                         $c->add($name, "%{$value}%", Criteria::LIKE);
                     }
                 }
             }
         }
     }
 }
Exemple #8
0
 public function executePrintForm()
 {
     $student = StudentPeer::retrieveByPK($this->getRequestParameter('student_id'));
     #$this->forward404Unless($student);
     $payment_model = PaymentModelPeer::retrieveByPK($this->getRequestParameter('payment_model_id'));
     #$this->forward404Unless($payment_model);
     $paid_at = $this->getRequestParameter('paid_at');
     $year = $this->getRequestParameter('year');
     $c = new Criteria();
     $c->add(PaymentJournalPeer::PAYER_TYPE, PaymentJournal::PAYER_TYPE_STUDENT);
     $c->add(PaymentJournalPeer::PAYER, $student->getId());
     $c->add(PaymentJournalPeer::ACADEMIC_PROCESS_ID, 2);
     $c->add(PaymentJournalPeer::STATUS, 'S');
     $c->add(PaymentJournalPeer::PAYMENT_MODEL_ID, $payment_model->getId());
     $c->add(PaymentJournalPeer::PAID_AT, $paid_at);
     $payments = PaymentJournal::doSelect($c);
     $total_cost = 0;
     foreach ($payments as $c) {
         $total_cost += $c->getAmount();
     }
     $this->student = $student;
     $this->payment_model = $payment_model;
     $this->paid_at = $paid_at;
     $this->year = $year;
     $this->actions = $actions;
     $this->subtitle = $student->toString();
     $this->type = '';
     $this->total_cost = $total_cost;
     $this->setViewClass('sfDomPDF');
     $this->payments = $payments;
 }
Exemple #9
0
 public function countPaymentModelsRelatedByParent($criteria = null, $distinct = false, $con = null)
 {
     include_once 'lib/model/om/BasePaymentModelPeer.php';
     if ($criteria === null) {
         $criteria = new Criteria();
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     $criteria->add(PaymentModelPeer::PARENT, $this->getId());
     return PaymentModelPeer::doCount($criteria, $distinct, $con);
 }
 public static function doSelectJoinAllExceptAcademicProcess(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     PaymentApplicantPeer::addSelectColumns($c);
     $startcol2 = PaymentApplicantPeer::NUM_COLUMNS - PaymentApplicantPeer::NUM_LAZY_LOAD_COLUMNS + 1;
     AcademicCostPeer::addSelectColumns($c);
     $startcol3 = $startcol2 + AcademicCostPeer::NUM_COLUMNS;
     TestApplicantPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + TestApplicantPeer::NUM_COLUMNS;
     PaymentModelPeer::addSelectColumns($c);
     $startcol5 = $startcol4 + PaymentModelPeer::NUM_COLUMNS;
     $c->addJoin(PaymentApplicantPeer::ACADEMIC_COST_ID, AcademicCostPeer::ID);
     $c->addJoin(PaymentApplicantPeer::TEST_APPLICANT_ID, TestApplicantPeer::ID);
     $c->addJoin(PaymentApplicantPeer::PAYMENT_MODEL_ID, PaymentModelPeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = PaymentApplicantPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = AcademicCostPeer::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->getAcademicCost();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addPaymentApplicant($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initPaymentApplicants();
             $obj2->addPaymentApplicant($obj1);
         }
         $omClass = TestApplicantPeer::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->getTestApplicant();
             if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj3->addPaymentApplicant($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj3->initPaymentApplicants();
             $obj3->addPaymentApplicant($obj1);
         }
         $omClass = PaymentModelPeer::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->getPaymentModel();
             if ($temp_obj4->getPrimaryKey() === $obj4->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj4->addPaymentApplicant($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj4->initPaymentApplicants();
             $obj4->addPaymentApplicant($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
Exemple #11
0
    echo "&nbsp;Desember&nbsp;";
}
echo $tahun;
?>
            </p>		   
           </td>
        </tr>
        <tr>
           <td style="vertical-align:middle;"><label ><?php 
echo __('Model Pembayaran');
?>
</label></td>
           <td width="2%" style="text-align:center; vertical-align:middle;">:</td>
		   <td style="vertical-align:middle;">
			<p class="detail" style="font-weight: bold;"><?php 
echo PaymentModelPeer::retrieveByPk(2)->toString();
?>
</p>
           </td>
        </tr>
        <tr>
           <td style="vertical-align:middle;"><label ><?php 
echo __('Total Pembayaran');
?>
</label></td>
           <td width="2%" style="text-align:center; vertical-align:middle;">:</td>
		   <td style="vertical-align:middle;">
		   <p class="detail" style="font-weight: bold;">
		   <?php 
$cw = new Criteria();
$cw->add(PaymentJournalPeer::PAYER, $student->getId());
Exemple #12
0
    echo "&nbsp;Desember&nbsp;";
}
echo $tahun;
?>
            </p>		   
           </td>
        </tr>
        <tr>
           <td style="vertical-align:middle;"><label ><?php 
echo __('Model Pembayaran');
?>
</label></td>
           <td width="2%" style="text-align:center; vertical-align:middle;">:</td>
		   <td style="vertical-align:middle;">
			<p class="detail" style="font-weight: bold;"><?php 
echo $model ? PaymentModelPeer::retrieveByPk($model)->toString() : '-';
?>
</p>
           </td>
        </tr>
        <tr>
           <td style="vertical-align:middle;"><label ><?php 
echo __('Total Kewajiban');
?>
</label></td>
           <td width="2%" style="text-align:center; vertical-align:middle;">:</td>
		   <td style="vertical-align:middle;">
		    <?php 
$cw = new Criteria();
$cw->add(PaymentJournalPeer::PAYER, $student->getId());
$cw->add(PaymentJournalPeer::PAID_AT, $tanggal1);
Exemple #13
0
 public static function doSelectJoinAllExceptAcademicCalendar(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     VSppPeer::addSelectColumns($c);
     $startcol2 = VSppPeer::NUM_COLUMNS - VSppPeer::NUM_LAZY_LOAD_COLUMNS + 1;
     StudentPeer::addSelectColumns($c);
     $startcol3 = $startcol2 + StudentPeer::NUM_COLUMNS;
     AcademicCostPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + AcademicCostPeer::NUM_COLUMNS;
     UserPeer::addSelectColumns($c);
     $startcol5 = $startcol4 + UserPeer::NUM_COLUMNS;
     AcademicProcessPeer::addSelectColumns($c);
     $startcol6 = $startcol5 + AcademicProcessPeer::NUM_COLUMNS;
     PaymentModelPeer::addSelectColumns($c);
     $startcol7 = $startcol6 + PaymentModelPeer::NUM_COLUMNS;
     TransactionStatusPeer::addSelectColumns($c);
     $startcol8 = $startcol7 + TransactionStatusPeer::NUM_COLUMNS;
     AcademicCostComponentPeer::addSelectColumns($c);
     $startcol9 = $startcol8 + AcademicCostComponentPeer::NUM_COLUMNS;
     $c->addJoin(VSppPeer::STUDENT_ID, StudentPeer::ID);
     $c->addJoin(VSppPeer::ACADEMIC_COST_ID, AcademicCostPeer::ID);
     $c->addJoin(VSppPeer::USER_ID, UserPeer::ID);
     $c->addJoin(VSppPeer::ACADEMIC_PROCESS_ID, AcademicProcessPeer::ID);
     $c->addJoin(VSppPeer::PAYMENT_MODEL_ID, PaymentModelPeer::ID);
     $c->addJoin(VSppPeer::TRANSACTION_STATUS_ID, TransactionStatusPeer::ID);
     $c->addJoin(VSppPeer::ACADEMIC_COST_COMPONENT_ID, AcademicCostComponentPeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = VSppPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = StudentPeer::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->getStudent();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addVSpp($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initVSpps();
             $obj2->addVSpp($obj1);
         }
         $omClass = AcademicCostPeer::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->getAcademicCost();
             if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj3->addVSpp($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj3->initVSpps();
             $obj3->addVSpp($obj1);
         }
         $omClass = UserPeer::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->getUser();
             if ($temp_obj4->getPrimaryKey() === $obj4->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj4->addVSpp($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj4->initVSpps();
             $obj4->addVSpp($obj1);
         }
         $omClass = AcademicProcessPeer::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->getAcademicProcess();
             if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj5->addVSpp($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj5->initVSpps();
             $obj5->addVSpp($obj1);
         }
         $omClass = PaymentModelPeer::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->getPaymentModel();
             if ($temp_obj6->getPrimaryKey() === $obj6->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj6->addVSpp($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj6->initVSpps();
             $obj6->addVSpp($obj1);
         }
         $omClass = TransactionStatusPeer::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->getTransactionStatus();
             if ($temp_obj7->getPrimaryKey() === $obj7->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj7->addVSpp($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj7->initVSpps();
             $obj7->addVSpp($obj1);
         }
         $omClass = AcademicCostComponentPeer::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->getAcademicCostComponent();
             if ($temp_obj8->getPrimaryKey() === $obj8->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj8->addVSpp($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj8->initVSpps();
             $obj8->addVSpp($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
 public static function doSelectJoinAllExceptAcademicCostComponent(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     VStudentElsePeer::addSelectColumns($c);
     $startcol2 = VStudentElsePeer::NUM_COLUMNS - VStudentElsePeer::NUM_LAZY_LOAD_COLUMNS + 1;
     AcademicCalendarPeer::addSelectColumns($c);
     $startcol3 = $startcol2 + AcademicCalendarPeer::NUM_COLUMNS;
     ClassGroupPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + ClassGroupPeer::NUM_COLUMNS;
     AcademicCostPeer::addSelectColumns($c);
     $startcol5 = $startcol4 + AcademicCostPeer::NUM_COLUMNS;
     PaymentModelPeer::addSelectColumns($c);
     $startcol6 = $startcol5 + PaymentModelPeer::NUM_COLUMNS;
     $c->addJoin(VStudentElsePeer::ACADEMIC_CALENDAR_ID, AcademicCalendarPeer::ID);
     $c->addJoin(VStudentElsePeer::CLASS_GROUP_ID, ClassGroupPeer::ID);
     $c->addJoin(VStudentElsePeer::ACADEMIC_COST_ID, AcademicCostPeer::ID);
     $c->addJoin(VStudentElsePeer::PAYMENT_MODEL_ID, PaymentModelPeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = VStudentElsePeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = AcademicCalendarPeer::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->getAcademicCalendar();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addVStudentElse($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initVStudentElses();
             $obj2->addVStudentElse($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->addVStudentElse($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj3->initVStudentElses();
             $obj3->addVStudentElse($obj1);
         }
         $omClass = AcademicCostPeer::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->getAcademicCost();
             if ($temp_obj4->getPrimaryKey() === $obj4->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj4->addVStudentElse($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj4->initVStudentElses();
             $obj4->addVStudentElse($obj1);
         }
         $omClass = PaymentModelPeer::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->getPaymentModel();
             if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj5->addVStudentElse($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj5->initVStudentElses();
             $obj5->addVStudentElse($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
 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(PaymentModelPeer::ID, $pks, Criteria::IN);
         $objs = PaymentModelPeer::doSelect($criteria, $con);
     }
     return $objs;
 }