From bcf3f3dd29ca2d3022b0fb59c628928a3d993d6b Mon Sep 17 00:00:00 2001 From: Syed Mujeer Hashmi Date: Fri, 7 May 2021 13:34:21 +0530 Subject: [PATCH] fix: Monthly Attendance Sheet Summarized view (#24976) * fix: Monthly Attendance Sheet Summarized view This fixes the count of different leave types in the monthly attendance sheet summarized view. Signed-off-by: Syed Mujeer Hashmi * fix: Avoid using raw sql query Signed-off-by: Syed Mujeer Hashmi Co-authored-by: Anurag Mishra <32095923+Anurag810@users.noreply.github.com> --- .../monthly_attendance_sheet.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py b/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py index c5929c6bf9..bcb0ee4d0d 100644 --- a/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py +++ b/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py @@ -57,10 +57,10 @@ def execute(filters=None): data = [] + leave_types = frappe.db.get_list("Leave Type") leave_list = None if filters.summarized_view: - leave_types = frappe.db.sql("""select name from `tabLeave Type`""", as_list=True) - leave_list = [d[0] + ":Float:120" for d in leave_types] + leave_list = [d.name + ":Float:120" for d in leave_types] columns.extend(leave_list) columns.extend([_("Total Late Entries") + ":Float:120", _("Total Early Exits") + ":Float:120"]) @@ -72,11 +72,11 @@ def execute(filters=None): if (att_map_set & emp_map_set): parameter_row = [""+ parameter + ""] + ['' for day in range(filters["total_days_in_month"] + 2)] data.append(parameter_row) - record, emp_att_data = add_data(emp_map[parameter], att_map, filters, holiday_map, conditions, default_holiday_list, leave_list=leave_list) + record, emp_att_data = add_data(emp_map[parameter], att_map, filters, holiday_map, conditions, default_holiday_list, leave_types=leave_types) emp_att_map.update(emp_att_data) data += record else: - record, emp_att_map = add_data(emp_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_list=leave_list) + record, emp_att_map = add_data(emp_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_types=leave_types) data += record chart_data = get_chart_data(emp_att_map, days) @@ -126,7 +126,7 @@ def get_chart_data(emp_att_map, days): return chart -def add_data(employee_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_list=None): +def add_data(employee_map, att_map, filters, holiday_map, conditions, default_holiday_list, leave_types=None): record = [] emp_att_map = {} @@ -204,9 +204,9 @@ def add_data(employee_map, att_map, filters, holiday_map, conditions, default_ho else: leaves[d.leave_type] = d.count - for d in leave_list: - if d in leaves: - row.append(leaves[d]) + for d in leave_types: + if d.name in leaves: + row.append(leaves[d.name]) else: row.append("0.0")