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) {
|
refresh: function(frm) {
|
||||||
|
@ -95,3 +95,25 @@ def get_program_enrollment(academic_year, academic_term=None, program=None, batc
|
|||||||
'''.format(condition1=condition1, condition2=condition2),
|
'''.format(condition1=condition1, condition2=condition2),
|
||||||
({"academic_year": academic_year, "academic_term":academic_term, "program": program, "batch": batch, "course": course}), as_dict=1)
|
({"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