# 61 Filter backend
* refactors XYTableFilter classes to hold query_filter and checkbox_filter which are separate instances of django_filter.FilterSets * improves render ability for frontend
This commit is contained in:
@@ -5,19 +5,27 @@ Contact: michel.peltriaux@sgdnord.rlp.de
|
||||
Created on: 22.07.21
|
||||
|
||||
"""
|
||||
from intervention.models import Intervention
|
||||
from konova.filters import AbstractTableFilter, GeoReferencedTableFilterMixin, ShareableTableFilterMixin, \
|
||||
RecordableTableFilterMixin
|
||||
from konova.filters import QueryTableFilter, CheckboxTableFilter
|
||||
|
||||
|
||||
class InterventionTableFilter(AbstractTableFilter, GeoReferencedTableFilterMixin, ShareableTableFilterMixin, RecordableTableFilterMixin):
|
||||
""" TableFilter for Intervention model
|
||||
|
||||
"""
|
||||
|
||||
class Meta:
|
||||
model = Intervention
|
||||
fields = []
|
||||
class InterventionTableFilter:
|
||||
query_filter = None
|
||||
checkbox_filter = None
|
||||
qs = None
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
user = kwargs.get("user", None)
|
||||
qs = kwargs.get("queryset", None)
|
||||
request_data = kwargs.get("data", None)
|
||||
|
||||
self.query_filter = QueryTableFilter(
|
||||
user=user,
|
||||
data=request_data,
|
||||
queryset=qs,
|
||||
)
|
||||
self.checkbox_filter = CheckboxTableFilter(
|
||||
user=user,
|
||||
data=request_data,
|
||||
queryset=self.query_filter.qs,
|
||||
)
|
||||
self.qs = self.checkbox_filter.qs
|
||||
|
||||
Reference in New Issue
Block a user