Filter SalesOrder by status

This commit is contained in:
Oliver Walters 2020-06-05 12:08:47 +10:00
parent 6ebce2b2fd
commit fcd588cb01
3 changed files with 21 additions and 1 deletions

View File

@ -147,6 +147,11 @@ class SalesOrderStatus(StatusCode):
RETURNED: 'yellow',
}
# Open orders
OPEN = [
PENDING,
]
class StockStatus(StatusCode):

View File

@ -13,7 +13,7 @@ from django.conf.urls import url, include
from InvenTree.helpers import str2bool
from InvenTree.api import AttachmentMixin
from InvenTree.status_codes import PurchaseOrderStatus
from InvenTree.status_codes import PurchaseOrderStatus, SalesOrderStatus
from part.models import Part
from company.models import SupplierPart
@ -271,6 +271,17 @@ class SOList(generics.ListCreateAPIView):
params = self.request.query_params
# Filter by 'outstanding' status
outstanding = params.get('outstanding', None)
if outstanding is not None:
outstanding = str2bool(outstanding)
if outstanding:
queryset = queryset.filter(status__in=SalesOrderStatus.OPEN)
else:
queryset = queryset.exclude(status__in=SalesOrderStatus.OPEN)
status = params.get('status', None)
if status is not None:

View File

@ -97,6 +97,10 @@ function getAvailableTableFilters(tableKey) {
title: '{% trans "Order status" %}',
options: salesOrderCodes,
},
outstanding: {
type: 'bool',
title: '{% trans "Outstanding" %}',
},
};
}