Exemplo n.º 1
0
 public function addSubjectCurr(SubjectCurr $l)
 {
     $this->collSubjectCurrs[] = $l;
     $l->setSubject($this);
 }
Exemplo n.º 2
0
 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')) {
         $subject = new Subject();
         $subject->setCode($this->getRequestParameter('code'));
         $subject->setName($this->getRequestParameter('name'));
         $subject->setCredit($this->getRequestParameter('credit'));
         $subject->setSubjectGroupId($this->getRequestParameter('subject_group_id'));
         $subject->setDepartmentId($this->getRequestParameter('department_id'));
         $subject->save();
         $subject_curr = new SubjectCurr();
         $subject_curr->setSubject($subject);
         $subject_curr->setCurriculumId($this->getRequestParameter('curriculum_id'));
         $subject_curr->save();
         if ($this->hasRequestParameter('academic_calendar_id') && $this->getRequestParameter('academic_calendar_id') != null && $this->getRequestParameter('academic_calendar_id') != '') {
             $subject_accal = new SubjectAccal();
             $subject_accal->setSubject($subject);
             $subject_accal->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id'));
             $subject_accal->setEmployeeId($this->getRequestParameter('employee_id'));
             $subject_accal->save();
             $subject_accal_lector = new SubjectAccalLector();
             $subject_accal_lector->setSubjectAccal($subject_accal);
             $subject_accal_lector->setEmployeeId($this->getRequestParameter('employee_id'));
             $subject_accal_lector->save();
         } else {
             $c = new Criteria();
             $c->add(AcademicCalendarPeer::CURRICULUM_ID, $this->getRequestParameter('curriculum_id'));
             $currs = AcademicCalendarPeer::doSelect($c);
             foreach ($currs as $curr) {
                 $subject_accal = new SubjectAccal();
                 $subject_accal->setSubject($subject);
                 $subject_accal->setAcademicCalendarId($curr->getId());
                 $subject_accal->setEmployeeId($this->getRequestParameter('employee_id'));
                 $subject_accal->save();
                 $subject_accal_lector = new SubjectAccalLector();
                 $subject_accal_lector->setSubjectAccal($subject_accal);
                 $subject_accal_lector->setEmployeeId($this->getRequestParameter('employee_id'));
                 $subject_accal_lector->save();
             }
         }
     } else {
         $subject = SubjectPeer::retrieveByPk($this->getRequestParameter('id'));
         $this->forward404Unless($subject);
         $subject->setId($this->getRequestParameter('id'));
         $subject->setCode($this->getRequestParameter('code'));
         $subject->setName($this->getRequestParameter('name'));
         $subject->setCredit($this->getRequestParameter('credit'));
         $subject->setSubjectGroupId($this->getRequestParameter('subject_group_id'));
         $subject->setDepartmentId($this->getRequestParameter('department_id'));
         $subject->save();
         if ($this->hasRequestParameter('subject_curr_id') && $this->getRequestParameter('subject_curr_id') != null && $this->getRequestParameter('subject_curr_id') != '') {
             $subject_curr = SubjectCurrPeer::retrieveByPk($this->getRequestParameter('subject_curr_id'));
             $this->forward404Unless($subject_curr);
             $subject_curr->setId($this->getRequestParameter('subject_curr_id'));
             $subject_curr->setSubject($subject);
             $subject_curr->setCurriculumId($this->getRequestParameter('curriculum_id'));
             $subject_curr->save();
         } else {
             $subject_curr = new SubjectCurr();
             $subject_curr->setSubject($subject);
             $subject_curr->setCurriculumId($this->getRequestParameter('curriculum_id'));
             $subject_curr->save();
         }
         if ($this->hasRequestParameter('subject_accal_id') && $this->getRequestParameter('subject_accal_id') != null && $this->getRequestParameter('subject_accal_id') != '') {
             $subject_accal = SubjectAccalPeer::retrieveByPk($this->getRequestParameter('subject_accal_id'));
             $this->forward404Unless($subject_accal);
             $subject_accal->setId('subject_accal_id');
             $subject_accal->setSubject($subject);
             $subject_accal->setAcademicCalendarId($this->getRequestParameter('academic_calendar_id'));
             $subject_accal->setEmployeeId($this->getRequestParameter('employee_id'));
             $subject_accal->save();
         } else {
             $c = new Criteria();
             $c->add(AcademicCalendarPeer::CURRICULUM_ID, $this->getRequestParameter('curriculum_id'));
             $currs = AcademicCalendarPeer::doSelect($c);
             foreach ($currs as $curr) {
                 $subject_accal = new SubjectAccal();
                 $subject_accal->setSubject($subject);
                 $subject_accal->setAcademicCalendarId($curr->getId());
                 $subject_accal->setEmployeeId($this->getRequestParameter('employee_id'));
                 $subject_accal->save();
                 $subject_accal_lector = new SubjectAccalLector();
                 $subject_accal_lector->setSubjectAccal($subject_accal);
                 $subject_accal_lector->setEmployeeId($this->getRequestParameter('employee_id'));
                 $subject_accal_lector->save();
             }
         }
     }
     return $this->redirect('subject/list');
 }