mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-31 10:49:09 +00:00
show inactive students in the monthly attendance reoprt
This commit is contained in:
@@ -114,13 +114,17 @@ def get_student_guardians(student):
|
|||||||
return guardians
|
return guardians
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_student_group_students(student_group):
|
def get_student_group_students(student_group, include_inactive=0):
|
||||||
"""Returns List of student, student_name in Student Group.
|
"""Returns List of student, student_name in Student Group.
|
||||||
|
|
||||||
:param student_group: Student Group.
|
:param student_group: Student Group.
|
||||||
"""
|
"""
|
||||||
students = frappe.get_list("Student Group Student", fields=["student", "student_name"] ,
|
if include_inactive:
|
||||||
filters={"parent": student_group, "active": 1}, order_by= "group_roll_number")
|
students = frappe.get_list("Student Group Student", fields=["student", "student_name"] ,
|
||||||
|
filters={"parent": student_group}, order_by= "group_roll_number")
|
||||||
|
else:
|
||||||
|
students = frappe.get_list("Student Group Student", fields=["student", "student_name"] ,
|
||||||
|
filters={"parent": student_group, "active": 1}, order_by= "group_roll_number")
|
||||||
return students
|
return students
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
|
|||||||
@@ -15,19 +15,24 @@ def execute(filters=None):
|
|||||||
to_date = get_last_day(filters["month"] + '-' + filters["year"])
|
to_date = get_last_day(filters["month"] + '-' + filters["year"])
|
||||||
total_days_in_month = date_diff(to_date, from_date) +1
|
total_days_in_month = date_diff(to_date, from_date) +1
|
||||||
columns = get_columns(total_days_in_month)
|
columns = get_columns(total_days_in_month)
|
||||||
students = get_student_group_students(filters.get("student_group"))
|
students = get_student_group_students(filters.get("student_group"),1)
|
||||||
students_list = get_students_list(students)
|
students_list = get_students_list(students)
|
||||||
att_map = get_attendance_list(from_date, to_date, filters.get("student_group"), students_list)
|
att_map = get_attendance_list(from_date, to_date, filters.get("student_group"), students_list)
|
||||||
data = []
|
data = []
|
||||||
for stud in students:
|
for stud in students:
|
||||||
row = [stud.student, stud.student_name]
|
row = [stud.student, stud.student_name]
|
||||||
|
student_status = frappe.db.get_value("Student", stud.student, "enabled")
|
||||||
date = from_date
|
date = from_date
|
||||||
total_p = total_a = 0.0
|
total_p = total_a = 0.0
|
||||||
for day in range(total_days_in_month):
|
for day in range(total_days_in_month):
|
||||||
status="None"
|
status="None"
|
||||||
if att_map.get(stud.student):
|
if att_map.get(stud.student):
|
||||||
status = att_map.get(stud.student).get(date, "None")
|
status = att_map.get(stud.student).get(date, "None")
|
||||||
status_map = {"Present": "P", "Absent": "A", "None": ""}
|
elif not student_status:
|
||||||
|
status = "Inactive"
|
||||||
|
else:
|
||||||
|
status = "None"
|
||||||
|
status_map = {"Present": "P", "Absent": "A", "None": "", "Inactive":"-"}
|
||||||
row.append(status_map[status])
|
row.append(status_map[status])
|
||||||
if status == "Present":
|
if status == "Present":
|
||||||
total_p += 1
|
total_p += 1
|
||||||
|
|||||||
Reference in New Issue
Block a user