[FIX] BASE: Employee filtering archived issue

This commit is contained in:
Horilla
2024-06-14 10:49:03 +05:30
parent a8af8b78ef
commit a4b3b28074
2 changed files with 10 additions and 1 deletions

View File

@@ -80,7 +80,9 @@ class HorillaCompanyManager(models.Manager):
try:
model_name = queryset.model._meta.model_name
if model_name == "employee":
queryset = queryset.filter(is_active=True)
request = getattr(_thread_locals, "request", None)
if not getattr(request, "is_filtering", None):
queryset = queryset.filter(is_active=True)
else:
for field in queryset.model._meta.fields:
if isinstance(field, models.ForeignKey):

View File

@@ -11,6 +11,7 @@ from django.db import models
from django_filters.filterset import FILTER_FOR_DBFIELD_DEFAULTS
from base.methods import reload_queryset
from base.thread_local_middleware import _thread_locals
from horilla_views.templatetags.generic_template_filters import getattribute
FILTER_FOR_DBFIELD_DEFAULTS[models.ForeignKey][
@@ -105,6 +106,12 @@ class HorillaFilterSet(FilterSet):
HorillaFilterSet
"""
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
request = getattr(_thread_locals, "request", None)
if request:
setattr(request, "is_filtering", True)
def search_in(self, queryset, name, value):
"""
Search in generic method for filter field