diff --git a/erpnext/schools/doctype/program_enrollment/program_enrollment.py b/erpnext/schools/doctype/program_enrollment/program_enrollment.py index 1346ef651e2..32cfe6b2b31 100644 --- a/erpnext/schools/doctype/program_enrollment/program_enrollment.py +++ b/erpnext/schools/doctype/program_enrollment/program_enrollment.py @@ -83,15 +83,28 @@ def get_program_courses(doctype, txt, searchfield, start, page_len, filters): def get_students(doctype, txt, searchfield, start, page_len, filters): if not filters.get("academic_term"): filters["academic_term"] = frappe.defaults.get_defaults().academic_term + if not filters.get("academic_year"): filters["academic_year"] = frappe.defaults.get_defaults().academic_year - enrolled_students = frappe.get_list("Program Enrollment", fields=["student"], filters= - {"academic_term": filters.get('academic_term'), "academic_year": filters.get('academic_year')}) + + enrolled_students = frappe.get_list("Program Enrollment", filters={ + "academic_term": filters.get('academic_term'), + "academic_year": filters.get('academic_year') + }, fields=["student"]) + students = [d.student for d in enrolled_students] if enrolled_students else [""] - return frappe.db.sql("""select name, title from tabStudent - where name not in (%s) - and `%s` LIKE %s - order by idx desc, name - limit %s, %s""" % - (", ".join(['%s']*len(students)), searchfield, "%s", "%s", "%s"), - tuple(students + ["%%%s%%" % txt, start, page_len])) + + return frappe.db.sql("""select + name, title from tabStudent + where + name not in (%s) + and + `%s` LIKE %s + order by + idx desc, name + limit %s, %s"""%( + ", ".join(['%s']*len(students)), searchfield, "%s", "%s", "%s"), + tuple(students + ["%%%s%%" % txt, start, page_len] + ) + ) +