예제 #1
0
 public function executeSaveKkm()
 {
     $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);
     if ($action_type == $action_i18n || !$this->getRequestParameter('id')) {
         $course_regulation = new CourseRegulation();
     } else {
         $course_regulation = CourseRegulationPeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($course_regulation);
     }
     $course_regulation->setId($this->getRequestParameter('id'));
     $course_regulation->setClassGroupId($course_schedule->getClassGroupId());
     $course_regulation->setAcademicCalendarId($course_schedule->getAcademicCalendarId());
     $course_regulation->setSubjectCurrId($course_schedule->getSubjectCurrId());
     $course_regulation->setKkm($this->getRequestParameter('kkm'));
     $course_regulation->save();
     $cur13_ki = Cur13KiPeer::retrieveByPK($this->getRequestParameter('cur13_ki_id'));
     $this->forward404Unless($cur13_ki);
     if ($cur13_ki->getId() == ScoreRule::THREE) {
         return $this->redirect('course_sd/listKi3?course_id=' . $course_schedule->getId());
     } else {
         return $this->redirect('course_sd/listKi4?course_id=' . $course_schedule->getId());
     }
 }
예제 #2
0
 public function executeDeleteRegulation()
 {
     $course_regulation = CourseRegulationPeer::retrieveByPk($this->getRequestParameter('id'));
     $this->forward404Unless($course_regulation);
     $course_schedule = CourseSchedulePeer::retrieveByPk($this->getRequestParameter('course_id'));
     $this->forward404Unless($course_schedule);
     $ref_error = 0;
     foreach ($course_regulation->getRefCountMethods() as $ref) {
         $method = "count" . $ref['affix'];
         $count = $course_regulation->{$method}();
         if ($count > 0) {
             ++$ref_error;
             $this->getRequest()->setError('course_score/deleteRegulation/' . sfInflector::camelize($ref['table']), $count);
         }
     }
     if ($ref_error > 0) {
         $this->getRequest()->setError('course_score/deleteRegulation', '_ERR_DELETE_ (' . $course_regulation->toString() . ' - id:' . $course_regulation->getId() . ')');
     } else {
         $course_regulation->delete();
     }
     return $this->redirect('course_score_new/listRegulation?course_id=' . $course_schedule->getId());
 }