public function executeUpdate() { $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')) { $student_thesis = new StudentThesis(); } else { $student_thesis = StudentThesisPeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($student_thesis); } $student_thesis->setId($this->getRequestParameter('id')); $student_thesis->setThesisTitle($this->getRequestParameter('thesis_title')); $student_thesis->setStudentId($this->getRequestParameter('student_id')); $student_thesis->setStatus($this->getRequestParameter('status')); $student_thesis->save(); $c = new Criteria(); $c->add(ThesisAdvisorPeer::STUDENT_THESIS_ID, $student_thesis->getId()); ThesisAdvisorPeer::doDelete($c); $advisors = $this->getRequestParameter('isSelected'); if ($advisors) { foreach ($advisors as $id) { $ta = new ThesisAdvisor(); $ta->setStudentThesis($student_thesis); $ta->setEmployeeId($id); $ta->save(); } } if ($student_thesis->getStatus() == StudentThesis::STATUS_DONE) { $ce = new ComprehensiveExam(); $ce->setStudentId($student_thesis->getStudentId()); $ce->setStatus(ComprehensiveExam::STATUS_PROPOSED); $ce->setAcademicCalendarId($student_thesis->getAcademicCalendarId()); $ce->save(); } return $this->redirect('student_thesis/list'); }
public function addThesisAdvisor(ThesisAdvisor $l) { $this->collThesisAdvisors[] = $l; $l->setEmployee($this); }
public function addThesisAdvisor(ThesisAdvisor $l) { $this->collThesisAdvisors[] = $l; $l->setStudentThesis($this); }