filter tag employee search

This commit is contained in:
Horilla
2023-09-08 14:37:48 +05:30
parent dffe248d44
commit 4d132d052f
4 changed files with 14 additions and 6 deletions

View File

@@ -83,6 +83,7 @@ class Employee(models.Model):
is_active = models.BooleanField(default=True)
additional_info = models.JSONField(null=True, blank=True)
objects = models.Manager()
def __str__(self) -> str:
last_name = (
self.employee_last_name if self.employee_last_name is not None else ""
@@ -217,6 +218,7 @@ class EmployeeWorkInformation(models.Model):
history = HistoricalRecords(
related_name="employee_work_info_history",
)
objects = models.Manager()
def __str__(self) -> str:
return f"{self.employee_id} - {self.job_position_id}"
@@ -251,6 +253,7 @@ class EmployeeBankDetails(models.Model):
max_length=50, null=True, blank=True, verbose_name="Bank Code #2"
)
additional_info = models.JSONField(null=True, blank=True)
objects = models.Manager()
def __str__(self) -> str:
return f"{self.employee_id}-{self.bank_name}"

View File

@@ -82,13 +82,13 @@
<div
class="oh-input-group oh-input__search-group"
:class="searchShow ? 'oh-input__search-group--show' : ''"
>
>
<ion-icon
name="search-outline"
class="oh-input-group__icon oh-input-group__icon--left"
></ion-icon>
<input
type="search"
type="text"
hx-get="{% url 'search-employee' %}"
placeholder="{% trans 'Search' %}"
name="search"

View File

@@ -1,4 +1,3 @@
from django.test import TestCase
# Create your tests here.

View File

@@ -194,7 +194,7 @@ def employee_view(request):
"""
This method is used to render template for view all employee
"""
view_type = (request.GET.get('view'))
view_type = request.GET.get("view")
previous_data = request.environ["QUERY_STRING"]
employees = Employee.objects.filter(is_active=True)
page_number = request.GET.get("page")
@@ -209,7 +209,7 @@ def employee_view(request):
"data": paginator_qry(employees, page_number),
"pd": previous_data,
"f": filter_obj,
'view_type':view_type,
"view_type": view_type,
},
)
@@ -790,10 +790,16 @@ def employee_search(request):
request, employees, "employee.view_employee"
)
employees = sortby(request, employees, "orderby")
data_dict = parse_qs(previous_data)
get_key_instances(Employee, data_dict)
return render(
request,
template,
{"data": paginator_qry(employees, page_number), "pd": previous_data},
{
"data": paginator_qry(employees, page_number),
"pd": previous_data,
"filter_dict": data_dict,
},
)