public static function doSelectJoinAllExceptNgTestApplSched(Criteria $c, $con = null) { $c = clone $c; if ($c->getDbName() == Propel::getDefaultDB()) { $c->setDbName(self::DATABASE_NAME); } NgTestApplScorePeer::addSelectColumns($c); $startcol2 = NgTestApplScorePeer::NUM_COLUMNS - NgTestApplScorePeer::NUM_LAZY_LOAD_COLUMNS + 1; NgTestSubjectPeer::addSelectColumns($c); $startcol3 = $startcol2 + NgTestSubjectPeer::NUM_COLUMNS; $c->addJoin(NgTestApplScorePeer::NG_TEST_SUBJECT_ID, NgTestSubjectPeer::ID); $rs = BasePeer::doSelect($c, $con); $results = array(); while ($rs->next()) { $omClass = NgTestApplScorePeer::getOMClass(); $cls = Propel::import($omClass); $obj1 = new $cls(); $obj1->hydrate($rs); $omClass = NgTestSubjectPeer::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->getNgTestSubject(); if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) { $newObject = false; $temp_obj2->addNgTestApplScore($obj1); break; } } if ($newObject) { $obj2->initNgTestApplScores(); $obj2->addNgTestApplScore($obj1); } $results[] = $obj1; } return $results; }
public function executeGetApplSched() { $this->ng_reg_period = NgRegPeriodPeer::retrieveByPK($this->getRequestParameter('ng_reg_period_id')); $this->forward404Unless($this->ng_reg_period); $this->ng_reg_test_period = NgRegTestPeriodPeer::retrieveByPK($this->getRequestParameter('ng_reg_test_period_id')); $this->forward404Unless($this->ng_reg_test_period); $this->ng_test_schedule = NgTestSchedulePeer::retrieveByPK($this->getRequestParameter('ng_test_schedule_id')); $this->forward404Unless($this->ng_test_schedule); $ct = new Criteria(); $ct->add(NgTestSubjectPeer::COURSE_MODEL, DepartmentPeer::retrieveByPK($this->ng_reg_period->getAcademicCalendar()->getDepartmentId())->getCourseModel()); $this->test_subjects = NgTestSubjectPeer::doSelect($ct); $c = new Criteria(); $c->add(NgTestApplSchedPeer::NG_TEST_SCHEDULE_ID, $this->ng_test_schedule->getId()); $c->addJoin(NgTestApplicantPeer::ID, NgTestApplSchedPeer::NG_TEST_APPLICANT_ID); $rpp = $this->getRequestParameter('max_per_page', $this->getUser()->getAttribute('max_per_page', ParamsPeer::retrieveByCode('row_per_page')->getValue(), 'applicant')); $this->getUser()->setAttribute('max_per_page', $rpp, 'applicant'); $pager = new sfPropelPager('NgTestApplicant', $rpp); $pager->setCriteria($c); $page = $this->getRequestParameter('page', $this->getUser()->getAttribute('page', 1, 'applicant')); $this->getUser()->setAttribute('page', $page, 'applicant'); $pager->setPage($page); $pager->init(); $this->pager = $pager; $this->type = 'edit'; $this->actions = array(array('name' => 'save', 'type' => 'submit', 'options' => array('class' => 'save_button', 'onclick' => "action_type.value=this.value")), array('name' => 'cancel', 'url' => 'ng_reg_detail/listTest?id=' . $this->ng_reg_period->getId(), 'color' => 'black')); }
public function getNgTestSubject($con = null) { include_once 'lib/model/om/BaseNgTestSubjectPeer.php'; if ($this->aNgTestSubject === null && $this->ng_test_subject_id !== null) { $this->aNgTestSubject = NgTestSubjectPeer::retrieveByPK($this->ng_test_subject_id, $con); } return $this->aNgTestSubject; }
public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = NgTestSubjectPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setCode($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setName($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setCourseModel($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setCreated($arr[$keys[4]]); } }
public function executeDelete() { $ng_test_subject = NgTestSubjectPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($ng_test_subject); $ref_error = 0; foreach ($ng_test_subject->getRefCountMethods() as $ref) { $method = "count" . $ref['affix']; $count = $ng_test_subject->{$method}(); if ($count > 0) { ++$ref_error; $this->getRequest()->setError('ng_test_subject/delete/' . sfInflector::camelize($ref['table']), $count); } } if ($ref_error > 0) { $this->getRequest()->setError('ng_test_subject/delete', '_ERR_DELETE_ (' . $ng_test_subject->toString() . ' - id:' . $ng_test_subject->getId() . ')'); } else { $ng_test_subject->delete(); } return $this->forward('ng_test_subject', 'list'); }
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(NgTestSubjectPeer::ID, $pks, Criteria::IN); $objs = NgTestSubjectPeer::doSelect($criteria, $con); } return $objs; }