mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-10 09:06:21 +01:00
pass url params into filters/qs
This commit is contained in:
@@ -34,7 +34,7 @@ class DataTablesView(View):
|
|||||||
self.searchable_as_regex_regex = re.compile(self.COL_SEARCHABLE_AS_REGEX_REGEX)
|
self.searchable_as_regex_regex = re.compile(self.COL_SEARCHABLE_AS_REGEX_REGEX)
|
||||||
self.order_regex = re.compile(self.COL_ORDERABLE_REGEX)
|
self.order_regex = re.compile(self.COL_ORDERABLE_REGEX)
|
||||||
|
|
||||||
def get_model_qs(self, request: HttpRequest):
|
def get_model_qs(self, request: HttpRequest, *args, **kwargs):
|
||||||
return self.model.objects
|
return self.model.objects
|
||||||
|
|
||||||
def get_param(self, request: HttpRequest, key: str, cast=str, default=""):
|
def get_param(self, request: HttpRequest, key: str, cast=str, default=""):
|
||||||
@@ -101,6 +101,7 @@ class DataTablesView(View):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def get(self, request: HttpRequest, *args, **kwargs):
|
def get(self, request: HttpRequest, *args, **kwargs):
|
||||||
|
|
||||||
# Get all our Params out of GET
|
# Get all our Params out of GET
|
||||||
length = self.get_param(request, "length", int)
|
length = self.get_param(request, "length", int)
|
||||||
start = self.get_param(request, "start", int)
|
start = self.get_param(request, "start", int)
|
||||||
@@ -118,7 +119,7 @@ class DataTablesView(View):
|
|||||||
|
|
||||||
# Build response rows
|
# Build response rows
|
||||||
items = []
|
items = []
|
||||||
qs = self.get_model_qs(request).filter(filter_q).order_by()
|
qs = self.get_model_qs(request, *args, **kwargs).filter(filter_q).order_by()
|
||||||
|
|
||||||
# Apply ordering
|
# Apply ordering
|
||||||
order = self.order_str(order_col, order_dir, column_conf)
|
order = self.order_str(order_col, order_dir, column_conf)
|
||||||
@@ -127,7 +128,7 @@ class DataTablesView(View):
|
|||||||
|
|
||||||
# build output
|
# build output
|
||||||
for row in qs[start:limit]:
|
for row in qs[start:limit]:
|
||||||
ctx = {"row": row}
|
ctx = {"note": row}
|
||||||
row = []
|
row = []
|
||||||
for t in self.columns:
|
for t in self.columns:
|
||||||
row.append(self.render_template(request, t[1], ctx))
|
row.append(self.render_template(request, t[1], ctx))
|
||||||
@@ -136,7 +137,7 @@ class DataTablesView(View):
|
|||||||
# Build our output dict
|
# Build our output dict
|
||||||
datatables_data = {}
|
datatables_data = {}
|
||||||
datatables_data['draw'] = draw
|
datatables_data['draw'] = draw
|
||||||
datatables_data['recordsTotal'] = self.get_model_qs(request).all().count()
|
datatables_data['recordsTotal'] = self.get_model_qs(request, *args, **kwargs).all().count()
|
||||||
datatables_data['recordsFiltered'] = qs.count()
|
datatables_data['recordsFiltered'] = qs.count()
|
||||||
datatables_data['data'] = items
|
datatables_data['data'] = items
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user