From ec121edc03d6adf25af87f15cec63d4a17a3a3f7 Mon Sep 17 00:00:00 2001 From: Horilla Date: Tue, 14 Nov 2023 14:27:06 +0530 Subject: [PATCH] [UPDT] BASE: Group by class for shift request and work type request --- base/filters.py | 70 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 59 insertions(+), 11 deletions(-) diff --git a/base/filters.py b/base/filters.py index e3af4a0a1..92c6599b7 100644 --- a/base/filters.py +++ b/base/filters.py @@ -2,6 +2,7 @@ This module contains custom Django filters for filtering querysets related to Shift Requests, Work Type Requests, Rotating Shift and Rotating Work Type Assign. """ +import uuid import django_filters from horilla.filters import FilterSet, filter_by_name from django_filters import CharFilter @@ -63,6 +64,11 @@ class ShiftRequestFilter(FilterSet): "employee_id__employee_work_info__shift_id", ] + def __init__(self, data=None, queryset=None, *, request=None, prefix=None): + super().__init__(data=data, queryset=queryset, request=request, prefix=prefix) + for field in self.form.fields.keys(): + self.form.fields[field].widget.attrs["id"] = f"{uuid.uuid4()}" + class WorkTypeRequestFilter(FilterSet): """ @@ -112,6 +118,11 @@ class WorkTypeRequestFilter(FilterSet): "employee_id__employee_work_info__shift_id", ] + def __init__(self, data=None, queryset=None, *, request=None, prefix=None): + super().__init__(data=data, queryset=queryset, request=request, prefix=prefix) + for field in self.form.fields.keys(): + self.form.fields[field].widget.attrs["id"] = f"{uuid.uuid4()}" + class RotatingShiftAssignFilters(FilterSet): """ @@ -200,26 +211,63 @@ class RotatingWorkTypeAssignFilter(FilterSet): "employee_id__employee_work_info__shift_id", ] + class ShiftRequestReGroup: """ Class to keep the field name for group by option """ + fields = [ - ("","Select"), - ("employee_id","Employee"), - ("shift_id","Requested Shift"), - ("previous_shift_id","Current Shift"), - ("requested_date","Requested Date"), + ("", "Select"), + ("employee_id", "Employee"), + ("shift_id", "Requested Shift"), + ("previous_shift_id", "Current Shift"), + ("requested_date", "Requested Date"), ] + class WorkTypeRequestReGroup: """ Class to keep the field name for group by option """ + fields = [ - ("","Select"), - ("employee_id","Employee"), - ("work_type_id","Requested Work Type"), - ("previous_work_type_id","Current Work Type"), - ("requested_date","Requested Date"), - ] \ No newline at end of file + ("", "Select"), + ("employee_id", "Employee"), + ("work_type_id", "Requested Work Type"), + ("previous_work_type_id", "Current Work Type"), + ("requested_date", "Requested Date"), + ] + + +class RotatingWorkTypeRequestReGroup: + """ + Class to keep the field name for group by option + """ + + fields = [ + ("", "Select"), + ("employee_id", "Employee"), + ("rotating_work_type_id", "Rotating Work Type"), + ("current_work_type", "Current Work Type"), + ("based_on", "Based On"), + ("employee_id.employee_work_info.department_id", "Department"), + ("employee_id.employee_work_info.job_role_id", "Job Role"), + ("employee_id.employee_work_info.reporting_manager_id", "Reporting Manager"), + ] + + +class RotatingShiftRequestReGroup: + """ + Class to keep the field name for group by option + """ + + fields = [ + ("", "Select"), + ("employee_id", "Employee"), + ("rotating_shift_id", "Rotating Shift"), + ("based_on", "Based On"), + ("employee_id.employee_work_info.department_id", "Department"), + ("employee_id.employee_work_info.job_role_id", "Job Role"), + ("employee_id.employee_work_info.reporting_manager_id", "Reporting Manager"), + ]