Merge pull request #9483 from manassolanki/fix-student-fetch
fetch queries for the students in the student group
This commit is contained in:
commit
514c0417dd
@ -9,6 +9,22 @@ frappe.ui.form.on("Student Group", {
|
||||
}
|
||||
};
|
||||
});
|
||||
if (!frm.__islocal) {
|
||||
frm.set_query("student", "students", function() {
|
||||
return{
|
||||
query: "erpnext.schools.doctype.student_group.student_group.fetch_students",
|
||||
filters: {
|
||||
'academic_year': frm.doc.academic_year,
|
||||
'group_based_on': frm.doc.group_based_on,
|
||||
'academic_term': frm.doc.academic_term,
|
||||
'program': frm.doc.program,
|
||||
'batch': frm.doc.batch,
|
||||
'course': frm.doc.course,
|
||||
'student_group': frm.doc.name
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
refresh: function(frm) {
|
||||
|
@ -95,3 +95,25 @@ def get_program_enrollment(academic_year, academic_term=None, program=None, batc
|
||||
'''.format(condition1=condition1, condition2=condition2),
|
||||
({"academic_year": academic_year, "academic_term":academic_term, "program": program, "batch": batch, "course": course}), as_dict=1)
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def fetch_students(doctype, txt, searchfield, start, page_len, filters):
|
||||
if filters.get("group_based_on") != "Activity":
|
||||
enrolled_students = get_program_enrollment(filters.get('academic_year'), filters.get('academic_term'),
|
||||
filters.get('program'), filters.get('batch'))
|
||||
student_group_student = frappe.db.sql_list('''select student from `tabStudent Group Student` where parent=%s''',
|
||||
(filters.get('student_group')))
|
||||
students = ([d.student for d in enrolled_students if d.student not in student_group_student]
|
||||
if enrolled_students else [""]) or [""]
|
||||
return frappe.db.sql("""select name, title from tabStudent
|
||||
where name in ({0}) and `{1}` LIKE %s
|
||||
order by idx desc, name
|
||||
limit %s, %s""".format(", ".join(['%s']*len(students)), searchfield),
|
||||
tuple(students + ["%%%s%%" % txt, start, page_len]))
|
||||
else:
|
||||
return frappe.db.sql("""select name, title from tabStudent
|
||||
where `{0}` LIKE %s
|
||||
order by idx desc, name
|
||||
limit %s, %s""".format(searchfield),
|
||||
tuple(["%%%s%%" % txt, start, page_len]))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user