From 1c3b017283129c6c8b5160cf17a76794fed0eb30 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 2 Mar 2021 12:33:41 +1100 Subject: [PATCH] Improve server-side pagination of SalesOrderLineItem --- InvenTree/order/api.py | 18 +++++++++++++++++- .../templates/order/sales_order_detail.html | 3 ++- InvenTree/stock/api.py | 4 +++- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index ce75a47697..33937acc94 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -412,7 +412,23 @@ class SOLineItemList(generics.ListCreateAPIView): return queryset - filter_backends = [DjangoFilterBackend] + filter_backends = [ + DjangoFilterBackend, + filters.SearchFilter, + filters.OrderingFilter + ] + + ordering_fields = [ + 'part__name', + 'quantity', + 'reference', + ] + + search_fields = [ + 'part__name', + 'quantity', + 'reference', + ] filter_fields = [ 'order', diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index c91cc6e51b..27bbd542dd 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -173,6 +173,7 @@ $("#so-lines-table").inventreeTable({ part_detail: true, allocations: true, }, + sidePagination: 'server', uniqueId: 'pk', url: "{% url 'api-so-line-list' %}", onPostBody: setupCallbacks, @@ -201,6 +202,7 @@ $("#so-lines-table").inventreeTable({ }, { sortable: true, + sortName: 'part__name', field: 'part', title: 'Part', formatter: function(value, row, index, field) { @@ -222,7 +224,6 @@ $("#so-lines-table").inventreeTable({ title: 'Quantity', }, { - sortable: true, field: 'allocated', {% if order.status == SalesOrderStatus.PENDING %} title: '{% trans "Allocated" %}', diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 15edfed066..60e511616a 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -853,7 +853,9 @@ class StockList(generics.ListCreateAPIView): 'status', ] - ordering = ['part__name'] + ordering = [ + 'part__name' + ] search_fields = [ 'serial',