public function executeUpdateCorrelatives(sfWebRequest $request) { $this->career_subject = CareerSubjectPeer::retrieveByPK($request->getParameter('id')); if (null === $this->career_subject) { $this->getUser()->setFlash('error', 'Debe seleccionar una materia para editar sus correlativas'); $this->redirect('@career_subject'); } $correlative = new Correlative(); $correlative->setCareerSubjectId($this->career_subject->getId()); $this->form = new CorrelativeForm($correlative); $this->processForm($request, $this->form); $this->setTemplate('editCorrelatives'); }
protected function doSave($con = null) { $values = $this->getValues(); $optional_career_subject = new CareerSubject(); $optional_career_subject->setSubjectId($values['subject_id']); $optional_career_subject->setIsOption(true); $career_subject = CareerSubjectPeer::retrieveByPK($values['career_subject_id']); $optional_career_subject->setCareerId($career_subject->getCareerId()); $optional_career_subject->setYear($career_subject->getYear()); $optional_career_subject->setSubjectConfigurationId($career_subject->getSubjectConfigurationId()); $optional_career_subject->setCreditHours($career_subject->getCreditHours()); $this->getObject()->setCareerSubjectRelatedByOptionalCareerSubjectId($optional_career_subject); parent::doSave($con); $career_subject->setHasOptions(true); $career_subject->save($con); }
public function executeUpdateEquivalence(sfWebRequest $request) { $parametrs = $request->getPostParameters(); $this->career_school_year = CareerSchoolYearPeer::retrieveByPK($parametrs['career_school_year_id']); $this->career = $this->career_school_year->getCareer(); $this->career_subject_school_years = array(); $this->years = array(); $this->forms = array(); for ($y = 1; $y <= $this->career->getQuantityYears(); $y++) { $this->years[] = $y; $this->career_subject_school_years[$y] = $this->career->getCareerSubjectsForYear($y, true); } unset($parametrs['_save']); unset($parametrs['career_school_year_id']); $valid = true; foreach ($parametrs as $parameter) { $career_subject_id = $parameter['career_subject_id']; $student_id = $parameter['student_id']; $school_year_id = $parameter['school_year']; $career_subject = CareerSubjectPeer::retrieveByPK($career_subject_id); $student = StudentPeer::retrieveByPK($student_id); $student_approved_career_subject = StudentApprovedCareerSubjectPeer::retrieveOrCreateByCareerSubjectAndStudent($career_subject->getId(), $student->getId()); $student_approved_career_subject->setSchoolYearId($school_year_id); $parameter['career_subject_id'] = $student_approved_career_subject->getCareerSubjectId(); $this->form = new EquivalenceForm($student_approved_career_subject); $this->form->setCareerSubjectAndStudent($career_subject, $student); if (isset($parameter['mark']) && $parameter['mark'] != "") { $this->form->bind($parameter); if ($this->form->isValid()) { $this->form->save(); } else { $valid = false; } } $this->form = new EquivalenceForm($student_approved_career_subject); $this->form->setCareerSubjectAndStudent($career_subject, $student); $this->forms[$career_subject->getId()] = $this->form; $parameter['career_subject_id'] = $career_subject_id; } if ($valid) { $this->getUser()->setFlash('notice', 'subjects are updated correctly'); } else { $this->setProcessFormErrorFlash(); } $this->module = $this->getModuleName(); $this->setTemplate('makeUpEquivalence'); }