From 927d6807b043dbe9abae1d4366890fec6773f496 Mon Sep 17 00:00:00 2001 From: Horilla Date: Mon, 29 Jan 2024 15:16:39 +0530 Subject: [PATCH] [UPDT] LEAVE: Leave request, admin leave request and holiday html updates using htmx attributes --- leave/filters.py | 9 +- leave/forms.py | 4 + leave/static/holiday/action.js | 6 + leave/templates/leave/holiday/holiday.html | 9 +- .../leave/holiday/holiday_export_filter.html | 72 ++++++----- .../leave/holiday/holiday_filter.html | 6 +- .../templates/leave/holiday/holiday_form.html | 83 ++++++------ .../leave/holiday/holiday_update_form.html | 85 ++++++------ .../templates/leave/holiday/holiday_view.html | 49 +++---- .../leave_request/filter_leave_requests.html | 121 ++++++++++++++++++ .../leave/leave_request/group_by.html | 5 +- .../leave_request/leave_request_form.html | 4 +- .../leave/leave_request/leave_requests.html | 5 +- .../leave_requests_export_filter.html | 60 ++++++++- .../leave/leave_request/request_view.html | 90 ++----------- leave/views.py | 35 ++++- 16 files changed, 390 insertions(+), 253 deletions(-) create mode 100644 leave/templates/leave/leave_request/filter_leave_requests.html diff --git a/leave/filters.py b/leave/filters.py index 567022cba..182da3a22 100644 --- a/leave/filters.py +++ b/leave/filters.py @@ -118,9 +118,6 @@ class AssignedLeaveFilter(FilterSet): self.form.fields[field].widget.attrs["id"] = f"{uuid.uuid4()}" -from horilla.filters import filter_by_name - - class LeaveRequestFilter(FilterSet): """ Filter class for LeaveRequest model. @@ -170,6 +167,12 @@ class LeaveRequestFilter(FilterSet): "status", "department_name", "overall_leave", + "employee_id__employee_work_info__company_id", + "employee_id__employee_work_info__reporting_manager_id", + "employee_id__employee_work_info__department_id", + "employee_id__employee_work_info__job_position_id", + "employee_id__employee_work_info__shift_id", + "employee_id__employee_work_info__work_type_id", ] def overall_leave_filter(self, queryset, _, value): diff --git a/leave/forms.py b/leave/forms.py index aeda8d9c5..96af60ca5 100644 --- a/leave/forms.py +++ b/leave/forms.py @@ -440,6 +440,10 @@ class HolidayForm(ModelForm): labels = { "name": _("Name"), } + + def __init__(self, *args, **kwargs): + super(HolidayForm, self).__init__(*args, **kwargs) + self.fields['name'].widget.attrs['autocomplete'] = 'name' class LeaveOneAssignForm(ModelForm): diff --git a/leave/static/holiday/action.js b/leave/static/holiday/action.js index c54414e56..5c2fdbfb7 100644 --- a/leave/static/holiday/action.js +++ b/leave/static/holiday/action.js @@ -29,6 +29,12 @@ var downloadMessages = { fr: "Voulez-vous télécharger le modèle ?", }; +function createHolidayHxValue() { + var pd = $(".oh-pagination").attr('data-pd'); + var hxValue = JSON.stringify(pd) + $("#holidayCreateButton").attr('hx-vals',`{"pd":${hxValue}}`); +} + tickHolidayCheckboxes(); function makeHolidayListUnique(list) { return Array.from(new Set(list)); diff --git a/leave/templates/leave/holiday/holiday.html b/leave/templates/leave/holiday/holiday.html index d04e959e5..5a6a8ed63 100644 --- a/leave/templates/leave/holiday/holiday.html +++ b/leave/templates/leave/holiday/holiday.html @@ -31,6 +31,7 @@
@@ -102,7 +103,7 @@
-
+
{% trans "Page" %} {{ holidays.number }} {% trans "of" %} {{ holidays.paginator.num_pages }}. diff --git a/leave/templates/leave/holiday/holiday_export_filter.html b/leave/templates/leave/holiday/holiday_export_filter.html index fdff29157..f2fab7b2e 100644 --- a/leave/templates/leave/holiday/holiday_export_filter.html +++ b/leave/templates/leave/holiday/holiday_export_filter.html @@ -1,43 +1,55 @@ {% load i18n %}
-
-
{% trans "Excel columns" %}
-
-
- {% for field in export_column.selected_fields %} -
-
- -
+
+
{% trans "Excel columns" %}
+
+
+ {% for field in export_column.selected_fields %} +
+
+
- {% endfor %}
+ {% endfor %}
-
-
{% trans "Holiday" %}
-
-
-
-
- - {{export_filter.form.from_date}} -
+
+
+
{% trans "Holiday" %}
+
+
+
+
+ + {{export_filter.form.from_date}}
+
-
-
- - {{export_filter.form.to_date}} -
+
+
+ + {{export_filter.form.to_date}}
-
-
- - {{export_filter.form.recurring}} -
+
+
+
+ + {{export_filter.form.recurring}}
-
\ No newline at end of file +
+
diff --git a/leave/templates/leave/holiday/holiday_filter.html b/leave/templates/leave/holiday/holiday_filter.html index c13958829..84a15a1cc 100644 --- a/leave/templates/leave/holiday/holiday_filter.html +++ b/leave/templates/leave/holiday/holiday_filter.html @@ -13,19 +13,19 @@
- + {{form.from_date}}
- + {{form.to_date}}
- + {{form.recurring}}
diff --git a/leave/templates/leave/holiday/holiday_form.html b/leave/templates/leave/holiday/holiday_form.html index 71ab29d81..51594e1d9 100644 --- a/leave/templates/leave/holiday/holiday_form.html +++ b/leave/templates/leave/holiday/holiday_form.html @@ -1,5 +1,4 @@ -{% load i18n %} -{% if messages %} +{% load i18n %} {% if messages %}
{% for message in messages %}
@@ -11,46 +10,48 @@
{% endif %} -{% if form.errors %} - -
-
- - {% for error in form.non_field_errors %} -
- {{ error }} -
- {% endfor %} -
+
+ {% trans "Create Holiday" %} +
-{% endif %} -
-
- - {{form.name}} - {{form.name.errors}} -
-
- - {{form.start_date}} - {{form.start_date.errors}} -
-
- - {{form.end_date}} - {{form.end_date.errors}} -
-
- - {{form.recurring}} - {{form.recurring.errors}} -
-
{% endfor %} -
+
{% trans "Page" %} {{ leave_requests.number }} {% trans "of" %} {{ leave_requests.paginator.num_pages }}. @@ -296,6 +296,9 @@ " ) - return render(request, "leave/user_leave/request_form.html", {"form": form,"pd":previous_data}) + return render( + request, + "leave/user_leave/request_form.html", + {"form": form, "pd": previous_data}, + ) @login_required