-
Notifications
You must be signed in to change notification settings - Fork 244
/
Copy pathfilter.py
111 lines (86 loc) · 2.31 KB
/
filter.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
"""
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"),
]