Beispiel #1
0
 public function executeSaveTerm()
 {
     $i18n = new sfI18N();
     $i18n->initialize($this->getContext());
     $i18n->setCulture($this->getUser()->getCulture());
     $action_i18n = $i18n->globalMessageFormat->format('save as new');
     $action_type = $this->getRequestParameter('action_type');
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $cur13_ki = Cur13KiPeer::retrieveByPK($this->getRequestParameter('cur13_ki_id'));
     $this->forward404Unless($cur13_ki);
     if ($action_type == $action_i18n || !$this->getRequestParameter('id')) {
         $cur13_term = new Cur13Term();
         $cur13_term->setId($this->getRequestParameter('id'));
         $cur13_term->setCourseScheduleId($course_schedule->getId());
         $cur13_term->setCur13KiId($cur13_ki->getId());
         $cur13_term->setCode($this->getRequestParameter('code'));
         $cur13_term->setName($this->getRequestParameter('name'));
         $cur13_term->setDescription($this->getRequestParameter('description'));
         $cur13_term->save();
     } else {
         $cur13_term = Cur13TermPeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($cur13_term);
         $cur13_term->setId($this->getRequestParameter('id'));
         $cur13_term->setCourseScheduleId($course_schedule->getId());
         $cur13_term->setCur13KiId($cur13_ki->getId());
         $cur13_term->setCode($this->getRequestParameter('code'));
         $cur13_term->setName($this->getRequestParameter('name'));
         $cur13_term->setDescription($this->getRequestParameter('description'));
         $cur13_term->save();
         ## Simpan Komponen Penilaian
         $subs = $this->getRequestParameter('sub');
         $bobot = $this->getRequestParameter('bobot');
         foreach ($subs as $m => $sub) {
             $ids = split('_', $m);
             $ct = new Criteria();
             $ct->add(Cur13TermSpecPeer::CUR13_TERM_ID, $ids[1]);
             $ct->add(Cur13TermSpecPeer::GRADE_SPEC_ID, $ids[0]);
             $ga_spec = Cur13TermSpecPeer::doSelectOne($ct);
             if ($ga_spec == null) {
                 $ga_spec = new Cur13TermSpec();
             }
             $ga_spec->setCur13TermId($ids[1]);
             $ga_spec->setGradeSpecId($ids[0]);
             $ga_spec->setBobot($bobot[$m]);
             $ga_spec->save();
         }
         ## Hapus Komponen
         $delsubs = $this->getRequestParameter('delsub');
         foreach ($delsubs as $m => $delsub) {
             $ids = split('_', $m);
             $ct = new Criteria();
             $ct->add(Cur13TermSpecPeer::CUR13_TERM_ID, $ids[1]);
             $ct->add(Cur13TermSpecPeer::GRADE_SPEC_ID, $ids[0]);
             $ga_spec = Cur13TermSpecPeer::doSelectOne($ct);
             if ($ga_spec != null) {
                 $ga_spec->delete();
             }
         }
     }
     return $this->redirect('course_sd/listTerm?course_id=' . $course_schedule->getId() . '&cur13_ki_id=' . $cur13_ki->getId());
 }