public function executeUpdate() { $subject_curr_id = $this->getRequestParameter('subject_curr_id'); $subject_curr = SubjectCurrPeer::retrieveByPK($subject_curr_id); $this->forward404Unless($subject_curr); $this->subject_curr = $subject_curr; $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'); if ($action_type == $action_i18n || !$this->getRequestParameter('id')) { $subject_grading = new SubjectGrading(); $subject_grading->setId($this->getRequestParameter('id')); $subject_grading->setSubjectCurrId($this->getRequestParameter('subject_curr_id')); $subject_grading->setGradeComponentId($this->getRequestParameter('grade_component_id')); $subject_grading->setPercentage($this->getRequestParameter('percentage')); $subject_grading->setKkm($this->getRequestParameter('kkm')); $subject_grading->save(); return $this->redirect('subject_grading/edit?subject_curr_id=' . $subject_curr->getId() . '&id=' . $subject_grading->getId()); } else { $subject_grading = SubjectGradingPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($subject_grading); $subject_grading->setId($this->getRequestParameter('id')); $subject_grading->setSubjectCurrId($this->getRequestParameter('subject_curr_id')); $subject_grading->setGradeComponentId($this->getRequestParameter('grade_component_id')); $subject_grading->setPercentage($this->getRequestParameter('percentage')); $subject_grading->setKkm($this->getRequestParameter('kkm')); $subject_grading->save(); return $this->redirect('subject_grading/list?subject_curr_id=' . $subject_curr->getId()); } }