public function executeSaveObject() { $score_rule_id = $this->getRequestParameter('id'); $score_rule = ScoreRulePeer::retrieveByPK($score_rule_id); $this->forward404Unless($score_rule); $subs = $this->getRequestParameter('sub'); foreach ($subs as $m => $sub) { $ids = split('_', $m); ## $ids [0] == Subject Curr Id ## $ids [1] == Score Rule Id $c = new Criteria(); $c->add(ScoreRuleObjectPeer::SCORE_RULE_ID, $ids[1]); $c->add(ScoreRuleObjectPeer::GRADE_SPEC_ID, $ids[0]); $score_rule_subject = ScoreRuleObjectPeer::doSelectOne($c); if ($score_rule_subject == null) { $score_rule_subject = new ScoreRuleObject(); } $score_rule_subject->setGradeSpecId($ids[0]); $score_rule_subject->setScoreRuleId($ids[1]); $score_rule_subject->setPublished(1); $score_rule_subject->save(); } $sequences = $this->getRequestParameter('sequence'); foreach ($sequences as $m => $sequence) { $ids = split('_', $m); ## $ids [0] == Subject Curr Id ## $ids [1] == Score Rule Id ${$c} = new Criteria(); $c->add(ScoreRuleObjectPeer::SCORE_RULE_ID, $ids[1]); $c->add(ScoreRuleObjectPeer::GRADE_SPEC_ID, $ids[0]); $score_rule_subject = ScoreRuleObjectPeer::doSelectOne($c); if ($score_rule_subject == null) { $score_rule_subject = new ScoreRuleObject(); } $score_rule_subject->setGradeSpecId($ids[0]); $score_rule_subject->setScoreRuleId($ids[1]); $score_rule_subject->setSequence($sequence); $score_rule_subject->save(); } $delsubs = $this->getRequestParameter('delsub'); foreach ($delsubs as $m => $delsub) { $ids = split('_', $m); ## $ids [0] == Subject Curr Id ## $ids [1] == Score Rule Id $c = new Criteria(); $c->add(ScoreRuleObjectPeer::SCORE_RULE_ID, $ids[1]); $c->add(ScoreRuleObjectPeer::GRADE_SPEC_ID, $ids[0]); $score_rule_subject = ScoreRuleObjectPeer::doSelectOne($c); if ($score_rule_subject != null) { $score_rule_subject->delete(); } } return $this->redirect('score_rule_new/listObject?rule_id=' . $score_rule->getId()); }
public function getScoreRule($con = null) { include_once 'lib/model/om/BaseScoreRulePeer.php'; if ($this->aScoreRule === null && $this->score_rule_id !== null) { $this->aScoreRule = ScoreRulePeer::retrieveByPK($this->score_rule_id, $con); } return $this->aScoreRule; }