Merge pull request #1379 from SchrodingersGat/po-bug-fix

Pagination Bug Fix
This commit is contained in:
Oliver 2021-03-02 17:15:12 +11:00 committed by GitHub
commit 7f6f489463
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 61 additions and 9 deletions

View File

@ -200,6 +200,25 @@ class POLineItemList(generics.ListCreateAPIView):
filter_backends = [
DjangoFilterBackend,
filters.SearchFilter,
filters.OrderingFilter
]
ordering_fields = [
'part__part__name',
'part__MPN',
'part__SKU',
'reference',
'quantity',
'received',
]
search_fields = [
'part__part__name',
'part__part__description',
'part__MPN',
'part__SKU',
'reference',
]
filter_fields = [
@ -412,7 +431,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',

View File

@ -135,6 +135,7 @@ function setupCallbacks() {
$("#po-table").inventreeTable({
onPostBody: setupCallbacks,
name: 'purchaseorder',
sidePagination: 'server',
formatNoMatches: function() { return "{% trans 'No line items found' %}"; },
queryParams: {
order: {{ order.id }},
@ -151,6 +152,7 @@ $("#po-table").inventreeTable({
{
field: 'part',
sortable: true,
sortName: 'part__part__name',
title: '{% trans "Part" %}',
switchable: false,
formatter: function(value, row, index, field) {
@ -162,18 +164,24 @@ $("#po-table").inventreeTable({
},
},
{
sortable: true,
field: 'part_detail.description',
title: '{% trans "Description" %}',
},
{
sortable: true,
sortName: 'part__SKU',
field: 'supplier_part_detail.SKU',
title: '{% trans "Order Code" %}',
title: '{% trans "SKU" %}',
formatter: function(value, row, index, field) {
return renderLink(value, `/supplier-part/${row.part}/`);
},
},
{
sortable: true,
sortName: 'part__MPN',
field: 'supplier_part_detail.MPN',
title: '{% trans "MPN" %}',
},
{
sortable: true,
field: 'reference',

View File

@ -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" %}',

View File

@ -853,7 +853,9 @@ class StockList(generics.ListCreateAPIView):
'status',
]
ordering = ['part__name']
ordering = [
'part__name'
]
search_fields = [
'serial',

View File

@ -145,9 +145,6 @@ $.fn.inventreeTable = function(options) {
var filters = options.queryParams || options.filters || {};
options.queryParams = function(params) {
for (var key in filters) {
params[key] = filters[key];
}
// Override the way that we ask the server to sort results
// It seems bootstrap-table does not offer a "native" way to do this...
@ -170,6 +167,15 @@ $.fn.inventreeTable = function(options) {
}
for (var key in filters) {
params[key] = filters[key];
}
// Add "order" back in (if it was originally specified by InvenTree)
// Annoyingly, "order" shadows some field names in InvenTree...
if ('order' in filters) {
params['order'] = filters['order'];
}
return params;
}