diff --git a/hrms/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py b/hrms/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py index 374aba20bb..925453743c 100644 --- a/hrms/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py +++ b/hrms/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py @@ -223,6 +223,9 @@ def get_attendance_map(filters: Filters) -> Dict: leave_map.setdefault(d.employee, []).append(d.day_of_month) continue + if d.shift is None: + d.shift = "" + attendance_map.setdefault(d.employee, {}).setdefault(d.shift, {}) attendance_map[d.employee][d.shift][d.day_of_month] = d.status diff --git a/hrms/hr/report/monthly_attendance_sheet/test_monthly_attendance_sheet.py b/hrms/hr/report/monthly_attendance_sheet/test_monthly_attendance_sheet.py index 43cfc78811..aba2eaabf3 100644 --- a/hrms/hr/report/monthly_attendance_sheet/test_monthly_attendance_sheet.py +++ b/hrms/hr/report/monthly_attendance_sheet/test_monthly_attendance_sheet.py @@ -92,7 +92,7 @@ def test_detailed_view(self): self.assertEqual(day_shift_row[1], "A") # absent on the 1st day of the month self.assertEqual(day_shift_row[2], "P") # present on the 2nd day - self.assertEqual(row_without_shift["shift"], None) + self.assertEqual(row_without_shift["shift"], "") self.assertEqual(row_without_shift[4], "P") # present on the 4th day # leave should be shown against every shift @@ -236,7 +236,7 @@ def test_attendance_with_group_by_filter(self): self.assertEqual(day_shift_row[1], "A") # absent on the 1st day of the month self.assertEqual(day_shift_row[2], "P") # present on the 2nd day - self.assertEqual(row_without_shift["shift"], None) + self.assertEqual(row_without_shift["shift"], "") self.assertEqual(row_without_shift[3], "L") # on leave on the 3rd day self.assertEqual(row_without_shift[4], "P") # present on the 4th day