From 515dce8bf00bf2fef1a8763615ec992740ac91a4 Mon Sep 17 00:00:00 2001 From: Horilla Date: Fri, 2 Feb 2024 19:37:57 +0530 Subject: [PATCH] [UPDT] ATTENDANCE: Ordering indication on attendance tables --- .../requests/attendance/request_lines.html | 20 +++++++------- attendance/views/search.py | 26 +++++++++++-------- 2 files changed, 25 insertions(+), 21 deletions(-) diff --git a/attendance/templates/requests/attendance/request_lines.html b/attendance/templates/requests/attendance/request_lines.html index 5ec81107a..49648affa 100644 --- a/attendance/templates/requests/attendance/request_lines.html +++ b/attendance/templates/requests/attendance/request_lines.html @@ -27,18 +27,18 @@
-
{% trans "Employee" %}
-
{% trans "Date" %}
+
{% trans "Employee" %}
+
{% trans "Date" %}
{% trans "Day" %}
{% trans "Check-In" %}
-
{% trans "In Date" %}
+
{% trans "In Date" %}
{% trans "Check-Out" %}
-
{% trans "Out Date" %}
+
{% trans "Out Date" %}
{% trans "Shift" %}
{% trans "Work Type" %}
{% trans "Min Hour" %}
{% trans "At Work" %}
-
{% trans "Overtime" %}
+
{% trans "Overtime" %}
{% trans "Comment" %}
{% trans "Actions" %}
@@ -194,18 +194,18 @@
-
{% trans "Employee" %}
-
{% trans "Date" %}
+
{% trans "Employee" %}
+
{% trans "Date" %}
{% trans "Day" %}
{% trans "Check-In" %}
-
{% trans "In Date" %}
+
{% trans "In Date" %}
{% trans "Check-Out" %}
-
{% trans "Out Date" %}
+
{% trans "Out Date" %}
{% trans "Shift" %}
{% trans "Work Type" %}
{% trans "Min Hour" %}
{% trans "At Work" %}
-
{% trans "Overtime" %}
+
{% trans "Overtime" %}
{% trans "Request" %}
diff --git a/attendance/views/search.py b/attendance/views/search.py index e9358afd9..544fad7fa 100644 --- a/attendance/views/search.py +++ b/attendance/views/search.py @@ -52,12 +52,16 @@ def attendance_search(request): field = request.GET.get("field") minot = strtime_seconds("00:00") condition = AttendanceValidationCondition.objects.first() + all_attendances = Attendance.objects.all() + if request.GET.get("sortby"): + all_attendances = sortby(request, all_attendances, "sortby") + if condition is not None and condition.minimum_overtime_to_approve is not None: minot = strtime_seconds(condition.minimum_overtime_to_approve) - validate_attendances = Attendance.objects.filter(attendance_validated=False) - attendances = Attendance.objects.filter(attendance_validated=True) - ot_attendances = Attendance.objects.filter( + validate_attendances = all_attendances.filter(attendance_validated=False) + attendances = all_attendances.filter(attendance_validated=True) + ot_attendances = all_attendances.filter( overtime_second__gte=minot, attendance_validated=True, ) @@ -76,10 +80,6 @@ def attendance_search(request): ot_attendances = filtersubordinates( request, ot_attendances, "attendance.view_attendance" ) - if request.GET.get("sortby"): - attendances = sortby(request, attendances, "sortby") - validate_attendances = sortby(request, validate_attendances, "sortby") - ot_attendances = sortby(request, ot_attendances, "sortby") data_dict = parse_qs(previous_data) get_key_instances(Attendance, data_dict) keys_to_remove = [ @@ -329,7 +329,11 @@ def own_attendance_sort(request): @login_required def search_attendance_requests(request): field = request.GET.get("field") - requests = Attendance.objects.filter( + all_attendance = Attendance.objects.all() + if request.GET.get("sortby"): + all_attendance = sortby(request, all_attendance, "sortby") + + requests = all_attendance.filter( is_validate_request=True, employee_id__is_active=True ) requests = filtersubordinates( @@ -337,7 +341,7 @@ def search_attendance_requests(request): perm="attendance.view_attendance", queryset=requests, ) - requests = requests | Attendance.objects.filter( + requests = requests | all_attendance.filter( employee_id__employee_user_id=request.user, is_validate_request=True, ) @@ -345,9 +349,9 @@ def search_attendance_requests(request): attendances = filtersubordinates( request=request, perm="attendance.view_attendance", - queryset=Attendance.objects.all(), + queryset=all_attendance.all(), ) - attendances = attendances | Attendance.objects.filter( + attendances = attendances | all_attendance.filter( employee_id__employee_user_id=request.user ) attendances = AttendanceFilters(request.GET, attendances).qs