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;
 }
示例#2
0
 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'));
 }
示例#3
0
 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;
 }
示例#4
0
 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]]);
     }
 }
示例#5
0
 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');
 }
示例#6
0
 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;
 }