From a88f73d180d37620b30811bfde4bd2d8cae30f7b Mon Sep 17 00:00:00 2001 From: Horilla Date: Wed, 7 Feb 2024 17:25:49 +0530 Subject: [PATCH] [UPDT] DASHBOARD: Pagination indication in table --- base/request_and_approve.py | 135 +++++++++------ .../attendance_validate.html | 161 +++++++++++------- 2 files changed, 180 insertions(+), 116 deletions(-) diff --git a/base/request_and_approve.py b/base/request_and_approve.py index 7b34f49a4..d1554b992 100644 --- a/base/request_and_approve.py +++ b/base/request_and_approve.py @@ -21,34 +21,38 @@ from django.db.models import Q @login_required def dashboard_shift_request(request): - requests = ShiftRequest.objects.filter(approved= False,canceled = False) - requests = filtersubordinates( - request, requests, "base.add_shiftrequest" + requests = ShiftRequest.objects.filter(approved=False, canceled=False) + requests = filtersubordinates(request, requests, "base.add_shiftrequest") + requests_ids = json.dumps([instance.id for instance in requests]) + return render( + request, + "request_and_approve/shift_request.html", + { + "requests": requests, + "requests_ids": requests_ids, + }, ) - requests_ids = json.dumps( - [ - instance.id for instance in requests - ] - ) - return render(request, "request_and_approve/shift_request.html",{"requests": requests,"requests_ids": requests_ids,}) @login_required def dashboard_work_type_request(request): - requests = WorkTypeRequest.objects.filter(approved= False,canceled = False) - requests = filtersubordinates( - request, requests, "base.add_worktyperequest" + requests = WorkTypeRequest.objects.filter(approved=False, canceled=False) + requests = filtersubordinates(request, requests, "base.add_worktyperequest") + requests_ids = json.dumps([instance.id for instance in requests]) + return render( + request, + "request_and_approve/work_type_request.html", + { + "requests": requests, + "requests_ids": requests_ids, + }, ) - requests_ids = json.dumps( - [ - instance.id for instance in requests - ] - ) - return render(request, "request_and_approve/work_type_request.html",{"requests": requests,"requests_ids": requests_ids,}) @login_required def dashboard_overtime_approve(request): + previous_data = request.GET.urlencode() + page_number = request.GET.get("page") condition = AttendanceValidationCondition.objects.first() min_ot = strtime_seconds("00:00") if condition is not None and condition.minimum_overtime_to_approve is not None: @@ -57,17 +61,22 @@ def dashboard_overtime_approve(request): overtime_second__gte=min_ot, attendance_validated=True, employee_id__is_active=True, - attendance_overtime_approve =False, + attendance_overtime_approve=False, ) - ot_attendances = filtersubordinates( + ot_attendances = filtersubordinates( request, ot_attendances, "attendance.change_attendance" ) - ot_attendances_ids = json.dumps( - [ - instance.id for instance in ot_attendances - ] + ot_attendances = paginator_qry(ot_attendances, page_number) + ot_attendances_ids = json.dumps([instance.id for instance in ot_attendances]) + return render( + request, + "request_and_approve/overtime_approve.html", + { + "overtime_attendances": ot_attendances, + "ot_attendances_ids": ot_attendances_ids, + "pd": previous_data, + }, ) - return render(request, "request_and_approve/overtime_approve.html",{"overtime_attendances": ot_attendances,"ot_attendances_ids": ot_attendances_ids,}) @login_required @@ -77,41 +86,43 @@ def dashboard_attendance_validate(request): validate_attendances = Attendance.objects.filter( attendance_validated=False, employee_id__is_active=True ) - validate_attendances = filtersubordinates( + validate_attendances = filtersubordinates( request, validate_attendances, "attendance.change_attendance" ) validate_attendances = paginator_qry(validate_attendances, page_number) validate_attendances_ids = json.dumps( - [ - instance.id for instance in validate_attendances - ] + [instance.id for instance in validate_attendances] + ) + return render( + request, + "request_and_approve/attendance_validate.html", + { + "validate_attendances": validate_attendances, + "validate_attendances_ids": validate_attendances_ids, + "pd": previous_data, + }, ) - return render(request, "request_and_approve/attendance_validate.html",{"validate_attendances": validate_attendances,"validate_attendances_ids": validate_attendances_ids, "pd": previous_data,}) @login_required def leave_request_and_approve(request): previous_data = request.GET.urlencode() page_number = request.GET.get("page") - leave_requests = LeaveRequest.objects.filter(status = "requested") - leave_requests = filtersubordinates( + leave_requests = LeaveRequest.objects.filter(status="requested") + leave_requests = filtersubordinates( request, leave_requests, "leave.change_leaverequest" ) leave_requests = paginator_qry(leave_requests, page_number) - leave_requests_ids = json.dumps( - [ - instance.id for instance in leave_requests - ] - ) + leave_requests_ids = json.dumps([instance.id for instance in leave_requests]) return render( request, "request_and_approve/leave_request_approve.html", { "leave_requests": leave_requests, - "requests_ids": leave_requests_ids, + "requests_ids": leave_requests_ids, "pd": previous_data, # "current_date":date.today(), - } + }, ) @@ -119,46 +130,60 @@ def leave_request_and_approve(request): def leave_allocation_approve(request): previous_data = request.GET.urlencode() page_number = request.GET.get("page") - allocation_reqests = LeaveAllocationRequest.objects.filter(status = "requested") - allocation_reqests = filtersubordinates( + allocation_reqests = LeaveAllocationRequest.objects.filter(status="requested") + allocation_reqests = filtersubordinates( request, allocation_reqests, "leave.view_leaveallocationrequest" ) # allocation_reqests = paginator_qry(allocation_reqests, page_number) allocation_reqests_ids = json.dumps( - [ - instance.id for instance in allocation_reqests - ] + [instance.id for instance in allocation_reqests] ) return render( request, "request_and_approve/leave_allocation_approve.html", { "allocation_reqests": allocation_reqests, - "reqests_ids": allocation_reqests_ids, + "reqests_ids": allocation_reqests_ids, "pd": previous_data, # "current_date":date.today(), - } + }, ) + @login_required def dashboard_feedback_answer(request): employee = request.user.employee_get feedback_requested = Feedback.objects.filter( - Q(manager_id=employee,manager_id__is_active=True) - | Q(colleague_id=employee,colleague_id__is_active=True) - | Q(subordinate_id=employee,subordinate_id__is_active=True) + Q(manager_id=employee, manager_id__is_active=True) + | Q(colleague_id=employee, colleague_id__is_active=True) + | Q(subordinate_id=employee, subordinate_id__is_active=True) ).distinct() - feedbacks = feedback_requested.exclude(feedback_answer__employee_id = employee) + feedbacks = feedback_requested.exclude(feedback_answer__employee_id=employee) + + return render( + request, + "request_and_approve/feedback_answer.html", + {"feedbacks": feedbacks, "current_date": date.today()}, + ) - return render(request, "request_and_approve/feedback_answer.html",{'feedbacks': feedbacks,'current_date':date.today()}) @login_required def dashboard_asset_request_approve(request): - asset_requests = AssetRequest.objects.filter(asset_request_status='Requested') + asset_requests = AssetRequest.objects.filter(asset_request_status="Requested") - asset_requests = filtersubordinates( - request, asset_requests, "asset.change_assetrequest", field="requested_employee_id" + asset_requests = filtersubordinates( + request, + asset_requests, + "asset.change_assetrequest", + field="requested_employee_id", ) requests_ids = json.dumps([instance.id for instance in asset_requests]) - return render(request, "request_and_approve/asset_requests_approve.html",{'asset_requests': asset_requests,'requests_ids': requests_ids,}) \ No newline at end of file + return render( + request, + "request_and_approve/asset_requests_approve.html", + { + "asset_requests": asset_requests, + "requests_ids": requests_ids, + }, + ) diff --git a/base/templates/request_and_approve/attendance_validate.html b/base/templates/request_and_approve/attendance_validate.html index 8533ea9bf..f48eed3b4 100644 --- a/base/templates/request_and_approve/attendance_validate.html +++ b/base/templates/request_and_approve/attendance_validate.html @@ -1,90 +1,129 @@ {% load i18n %} -
-{% if validate_attendances.has_previous %} - - +
+ {% if validate_attendances.has_previous %} + + -{% endif %} + {% endif %} -{% trans 'Attendance To Validate' %} - -{% if validate_attendances.has_next %} - - + {% trans 'Attendance To Validate' %} -{% endif %} + + {% if validate_attendances.has_next %} + + + + {% endif %}
-
-{% if validate_attendances %} -
-
-
-
-
- {% trans "Employee" %} +
+ {% if validate_attendances %} +
+
+
+
+
+ {% trans "Employee" %} +
+
+ {% trans "Worked Hours" %} +
+
-
- {% trans "Worked Hours" %} -
-
-
- {% for attendance in validate_attendances %} + {% for attendance in validate_attendances %}
+ class="oh-sticky-table__tr" + draggable="false" + data-toggle="oh-modal-toggle" + data-target="#bigModal" + hx-target="#bigModalTarget" + hx-get="{% url 'user-request-one-view' attendance.id %}?validate=true&instances_ids={{validate_attendances_ids}}&dashboard=true" + >
- +
{{attendance.employee_id}}{{attendance.employee_id}}
- {{attendance.attendance_worked_hour}} + {{attendance.attendance_worked_hour}}
- {% endfor %} + {% endfor %} +
-
-{% else %} -
-
- -

{% trans "No data Found..." %}

-
-
-{% endif %} + + {% trans "Page" %} {{ validate_attendances.number }} {%trans "of" %} + {{validate_attendances.paginator.num_pages }}. + + {% else %} +
+
+ +

+ {% trans "No data Found..." %} +

+
+
+ {% endif %}