public function getAvailableStudentsForExaminationSubject(ExaminationSubject $examination_subject)
 {
     $c = new Criteria();
     $c->add(CourseSubjectPeer::CAREER_SUBJECT_SCHOOL_YEAR_ID, $examination_subject->getCareerSubjectSchoolYearId());
     $c->addJoin(CourseSubjectPeer::ID, CourseSubjectStudentPeer::COURSE_SUBJECT_ID, Criteria::INNER_JOIN);
     $c->addJoin(CourseSubjectStudentPeer::ID, StudentDisapprovedCourseSubjectPeer::COURSE_SUBJECT_STUDENT_ID, Criteria::INNER_JOIN);
     $c->add(CourseSubjectStudentPeer::STUDENT_APPROVED_COURSE_SUBJECT_ID, null, Criteria::ISNULL);
     $c->addJoin(CourseSubjectStudentPeer::STUDENT_ID, StudentPeer::ID, Criteria::INNER_JOIN);
     $c->addJoin(CourseSubjectStudentPeer::ID, CourseSubjectStudentExaminationPeer::COURSE_SUBJECT_STUDENT_ID, Criteria::INNER_JOIN);
     $c->add(CourseSubjectStudentExaminationPeer::EXAMINATION_NUMBER, $examination_subject->getExamination()->getExaminationNumber());
     $c->add(CourseSubjectStudentExaminationPeer::IS_ABSENT, false);
     $c->addAnd(CourseSubjectStudentExaminationPeer::MARK, null, Criteria::ISNULL);
     //Quito los que ya la aprobaron
     $approved_criteria = new Criteria();
     $approved_criteria->addJoin(StudentApprovedCareerSubjectPeer::STUDENT_ID, StudentPeer::ID, Criteria::INNER_JOIN);
     $approved_criteria->add(StudentApprovedCareerSubjectPeer::CAREER_SUBJECT_ID, $examination_subject->getCareerSubjectSchoolYear()->getCareerSubjectId());
     $approved_criteria->clearSelectColumns();
     $approved_criteria->addSelectColumn(StudentApprovedCareerSubjectPeer::STUDENT_ID);
     $stmt = StudentApprovedCareerSubjectPeer::doSelectStmt($approved_criteria);
     $not_in = $stmt->fetchAll(PDO::FETCH_COLUMN);
     $c->add(StudentPeer::ID, $not_in, Criteria::NOT_IN);
     return StudentPeer::doSelect($c);
 }