public function postValidateAvailableStudents(sfValidatorBase $validator, $values) { $duplicated_students = array(); $student_ids = $values['course_subject_student_list']; $course_subject_id = $values['id']; if (!empty($student_ids)) { foreach ($student_ids as $student_id) { if (CourseSubjectStudentPathwayPeer::countStudentInscriptionsForCareerSubjectSchoolYear($course_subject_id, $student_id) != 0) { $duplicated_students[] = StudentPeer::retrieveByPk($student_id); } } if ($duplicated_students) { $error = new sfValidatorError($validator, 'Los siguientes estudiantes seleccionados ya se encuentran inscriptos en otro curso para esta misma materia: ' . implode(',', $duplicated_students)); throw new sfValidatorErrorSchema($validator, array('course_subject_student_list' => $error)); } } return $values; }