diff --git a/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.js b/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.js
index 26c868498b4..6f4bbd54fb0 100644
--- a/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.js
+++ b/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.js
@@ -77,5 +77,25 @@ frappe.query_reports["Monthly Attendance Sheet"] = {
year_filter.set_input(year_filter.df.default);
}
});
+ },
+ formatter: function(value, row, column, data, default_formatter) {
+ value = default_formatter(value, row, column, data);
+ const summarized_view = frappe.query_report.get_filter_value('summarized_view');
+ const group_by = frappe.query_report.get_filter_value('group_by');
+
+ if (!summarized_view) {
+ if ((group_by && column.colIndex > 3) || (!group_by && column.colIndex > 2)) {
+ if (value == 'P' || value == 'WFH')
+ value = "" + value + "";
+ else if (value == 'A')
+ value = "" + value + "";
+ else if (value == 'HD')
+ value = "" + value + "";
+ else if (value == 'L')
+ value = "" + value + "";
+ }
+ }
+
+ return value;
}
}
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 c9d9aae361e..299b092eae3 100644
--- a/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py
+++ b/erpnext/hr/report/monthly_attendance_sheet/monthly_attendance_sheet.py
@@ -15,13 +15,13 @@ from frappe.query_builder.functions import Count, Extract, Sum
Filters = frappe._dict
status_map = {
+ 'Present': 'P',
'Absent': 'A',
'Half Day': 'HD',
- 'Holiday': 'H',
- 'Weekly Off': 'WO',
+ 'Work From Home': 'WFH',
'On Leave': 'L',
- 'Present': 'P',
- 'Work From Home': 'WFH'
+ 'Holiday': 'H',
+ 'Weekly Off': 'WO'
}
day_abbr = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
@@ -38,9 +38,26 @@ def execute(filters: Optional[Filters] = None) -> Tuple:
if not data:
return columns, [], None, None
+ message = get_message() if not filters.summarized_view else ''
chart = get_chart_data(attendance_map, filters)
- return columns, data, None, chart
+ return columns, data, message, chart
+
+
+def get_message() -> str:
+ message = ''
+ colors = ['green', 'red', 'orange', 'green', '#318AD8', '', '']
+
+ count = 0
+ for status, abbr in status_map.items():
+ message += f"""
+
+ {status} - {abbr}
+
+ """
+ count += 1
+
+ return message
def get_columns(filters: Filters) -> List[Dict]:
@@ -492,7 +509,8 @@ def get_chart_data(attendance_map: Dict, filters: Filters) -> Dict:
{'name': 'Leave', 'values': leave},
]
},
- 'type': 'line'
+ 'type': 'line',
+ 'colors': ['red', 'green', 'blue'],
}
return chart
\ No newline at end of file