| Server IP : 65.108.144.40 / Your IP : 216.73.217.165 Web Server : Apache/2.4.52 (Ubuntu) System : Linux ubuntu-8gb-hel1-1 5.15.0-173-generic #183-Ubuntu SMP Fri Mar 6 13:29:34 UTC 2026 x86_64 User : dev ( 1000) PHP Version : 8.2.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/erp/helpdesk/ |
Upload File : |
"""
filters.py
This page is used to register filter for employee models
"""
from django import forms
from django_filters import CharFilter, DateFilter
from helpdesk.models import FAQ, FAQCategory, Ticket
from horilla.filters import FilterSet
class FAQFilter(FilterSet):
"""
Filter set class for FAQ model
Args:
FilterSet (class): custom filter set class to apply styling
"""
search = CharFilter(field_name="question", lookup_expr="icontains")
class Meta:
"""
Meta class to add the additional info
"""
model = FAQ
fields = [
"search",
"tags",
]
class FAQCategoryFilter(FilterSet):
"""
Filter set class for FAQ category model
Args:
FilterSet (class): custom filter set class to apply styling
"""
search = CharFilter(field_name="title", lookup_expr="icontains")
class Meta:
"""
Meta class to add the additional info
"""
model = FAQCategory
fields = [
"search",
]
class TicketFilter(FilterSet):
"""
Filter set class for Ticket model
Args:
FilterSet (class): custom filter set class to apply styling
"""
search = CharFilter(field_name="title", lookup_expr="icontains")
from_date = DateFilter(
field_name="deadline",
lookup_expr="gte",
widget=forms.DateInput(attrs={"type": "date"}),
)
to_date = DateFilter(
field_name="deadline",
lookup_expr="lte",
widget=forms.DateInput(attrs={"type": "date"}),
)
class Meta:
"""
Meta class to add the additional info
"""
model = Ticket
fields = [
"title",
"tags",
"employee_id",
"ticket_type",
"priority",
"deadline",
"assigned_to",
"status",
"is_active",
]
class TicketReGroup:
"""
Class to keep the field name for group by option
"""
fields = [
("", "Select"),
("employee_id", "Owner"),
("ticket_type", "Ticket Type"),
("status", "Status"),
("priority", "Priority"),
("tags", "Tags"),
("assigned_to", "Assigner"),
("employee_id__employee_work_info__company_id", "Company"),
]