Skip to content
Snippets Groups Projects
Commit 1c1be052 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

api improved to accept pagination params

parent f7f0aa5b
No related branches found
No related tags found
1 merge request!36Resolve "configuration panel"
...@@ -25,7 +25,7 @@ urlpatterns = [ ...@@ -25,7 +25,7 @@ urlpatterns = [
url(r'^appointment_types$', appointment_type.appointment_types, name='web.api.appointment_types'), url(r'^appointment_types$', appointment_type.appointment_types, name='web.api.appointment_types'),
# appointments # appointments
url(r'^configuration_items$', configuration.configuration_items, name='web.api.configuration'), url(r'^configuration_items$', configuration.configuration_items, name='web.api.configuration_items'),
# subjects data # subjects data
url(r'^cities$', subject.cities, name='web.api.cities'), url(r'^cities$', subject.cities, name='web.api.cities'),
......
...@@ -6,14 +6,28 @@ from web.models import ConfigurationItem ...@@ -6,14 +6,28 @@ from web.models import ConfigurationItem
@login_required @login_required
def configuration_items(request): def configuration_items(request):
# id of the query from dataTable: https://datatables.net/manual/server-side
draw = int(request.GET.get("draw", "-1"))
start = int(request.GET.get("start", "0"))
length = int(request.GET.get("length", "10"))
items = ConfigurationItem.objects.all() items = ConfigurationItem.objects.all()
count = items.count()
count_filtered = count
sliced_items = items[start:(start + length)]
data = [] data = []
for configuration_item in items: for configuration_item in sliced_items:
data.append({ data.append({
"id": configuration_item.id, "id": configuration_item.id,
"name": configuration_item.name, "name": configuration_item.name,
"value": configuration_item.value "value": configuration_item.value
}) })
return JsonResponse({ return JsonResponse({
"draw": draw,
"recordsTotal": count,
"recordsFiltered": count_filtered,
"data": data "data": data
}) })
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment