예제 #1
0
 public function executeSave()
 {
     $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(ScoreRuleSubjectPeer::SCORE_RULE_ID, $ids[1]);
         $c->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $ids[0]);
         $score_rule_subject = ScoreRuleSubjectPeer::doSelectOne($c);
         if ($score_rule_subject == null) {
             $score_rule_subject = new ScoreRuleSubject();
         }
         $score_rule_subject->setSubjectCurrId($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(ScoreRuleSubjectPeer::SCORE_RULE_ID, $ids[1]);
         $c->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $ids[0]);
         $score_rule_subject = ScoreRuleSubjectPeer::doSelectOne($c);
         if ($score_rule_subject == null) {
             $score_rule_subject = new ScoreRuleSubject();
         }
         $score_rule_subject->setSubjectCurrId($ids[0]);
         $score_rule_subject->setScoreRuleId($ids[1]);
         $score_rule_subject->setSequence($sequence);
         $score_rule_subject->save();
     }
     $parents = $this->getRequestParameter('parent');
     foreach ($parents as $m => $parent) {
         if ($parent != null) {
             $ids = split('_', $m);
             ## $ids [0] == Subject Curr Id
             ## $ids [1] == Score Rule Id
             $c = new Criteria();
             $c->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $ids[1]);
             $c->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $ids[0]);
             $score_rule_subject = ScoreRuleSubjectPeer::doSelectOne($c);
             if ($score_rule_subject == null) {
                 $score_rule_subject = new ScoreRuleSubject();
             }
             $score_rule_subject->setSubjectCurrId($ids[0]);
             $score_rule_subject->setScoreRuleId($ids[1]);
             $score_rule_subject->setParent($parent);
             $score_rule_subject->save();
         }
     }
     $tipes = $this->getRequestParameter('tipe');
     foreach ($tipes as $m => $tipe) {
         $ids = split('_', $m);
         ## $ids [0] == Subject Curr Id
         ## $ids [1] == Score Rule Id
         $c = new Criteria();
         $c->add(ScoreRuleSubjectPeer::SCORE_RULE_ID, $ids[1]);
         $c->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $ids[0]);
         $score_rule_subject = ScoreRuleSubjectPeer::doSelectOne($c);
         if ($score_rule_subject == null) {
             $score_rule_subject = new ScoreRuleSubject();
         }
         $score_rule_subject->setSubjectCurrId($ids[0]);
         $score_rule_subject->setScoreRuleId($ids[1]);
         $score_rule_subject->setSubjectType($tipe);
         $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(ScoreRuleSubjectPeer::SCORE_RULE_ID, $ids[1]);
         $c->add(ScoreRuleSubjectPeer::SUBJECT_CURR_ID, $ids[0]);
         $score_rule_subject = ScoreRuleSubjectPeer::doSelectOne($c);
         if ($score_rule_subject != null) {
             $score_rule_subject->delete();
         }
     }
     return $this->redirect('score_rule_new/listSubject?rule_id=' . $score_rule->getId());
 }
예제 #2
0
 public function addScoreRuleSubjectRelatedByParent(ScoreRuleSubject $l)
 {
     $this->collScoreRuleSubjectsRelatedByParent[] = $l;
     $l->setScoreRuleSubjectRelatedByParent($this);
 }