public function getForm($object = null)
 {
     if (is_null($object)) {
         $object = new CareerSubject();
         $object->setCareerId($this->getUser()->getReferenceFor('career'));
     }
     return parent::getForm($object);
 }
 public static function retrieveByCareerSubjectAndSchoolYear(CareerSubject $cs, SchoolYear $school_year = null)
 {
     if (is_null($school_year)) {
         $school_year = SchoolYearPeer::retrieveCurrent();
     }
     $c = new Criteria();
     $c->add(CareerSchoolYearPeer::CAREER_ID, $cs->getCareerId());
     $c->add(CareerSchoolYearPeer::SCHOOL_YEAR_ID, $school_year->getId());
     $c->addJoin(CareerSchoolYearPeer::ID, self::CAREER_SCHOOL_YEAR_ID, Criteria::INNER_JOIN);
     $c->add(self::CAREER_SUBJECT_ID, $cs->getId());
     return self::doSelectOne($c);
 }
 /**
  * Creates career_subject_school_year if the career has already have an instance of career_school_year of the actual school year.
  *
  * @param CareerSubject $career_subject
  * @param PropelPDO $con
  */
 public function updateCareerSubjectSchoolYear(CareerSubject $career_subject, PropelPDO $con)
 {
     if ($career_subject->isNew()) {
         $school_year = SchoolYearPeer::retrieveCurrent();
         $career_school_year = CareerSchoolYearPeer::retrieveByCareerAndSchoolYear($career_subject->getCareer(), $school_year);
         if (!is_null($career_school_year) && !$career_school_year->getIsProcessed()) {
             $career_subject_school_year = new CareerSubjectSchoolYear();
             $career_subject_school_year->setCareerSubjectId($career_subject->getId());
             $career_subject_school_year->setCareerSchoolYearId($career_school_year->getId());
             $career_subject_school_year->save($con);
         }
     }
 }
 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);
 }
 /**
  * This method check if the student has approved all the correlatives for the careerSubject.
  *
  * @param CareerSubject $career_subject
  * @param Student $student
  * @return boolean
  */
 public function canAddEquivalenceFor(CareerSubject $career_subject, Student $student)
 {
     foreach ($career_subject->getCorrelativeCareerSubjects() as $cs) {
         $c = new Criteria();
         $c->add(StudentApprovedCareerSubjectPeer::STUDENT_ID, $student->getId());
         $c->add(StudentApprovedCareerSubjectPeer::CAREER_SUBJECT_ID, $cs->getId());
         if (StudentApprovedCareerSubjectPeer::doCount($c) == 0) {
             return false;
         }
     }
     return true;
 }
Beispiel #6
0
 public function isApprovedCareerSubject(CareerSubject $career_subject, Student $student)
 {
     $c = new Criteria();
     $c->add(StudentApprovedCareerSubjectPeer::STUDENT_ID, $student->getId());
     $c->add(StudentApprovedCareerSubjectPeer::CAREER_SUBJECT_ID, $career_subject->getId());
     return StudentApprovedCareerSubjectPeer::doSelectOne($c) ? true : false;
 }