mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-30 18:50:53 +00:00
List PO/SO/BO by reference in API (#4083)
* API: Add filter by reference to SO, PO. Add filtering by customer to SO list * API: Add filtering by reference to Build order list * Add test for changes * Increment API version * Add test for BO reference * Add missing description of API version
This commit is contained in:
@ -78,8 +78,15 @@ class GeneralExtraLineList:
|
||||
]
|
||||
|
||||
|
||||
class PurchaseOrderFilter(rest_filters.FilterSet):
|
||||
"""Custom API filters for the PurchaseOrderList endpoint."""
|
||||
class OrderFilter(rest_filters.FilterSet):
|
||||
"""Base class for custom API filters for the OrderList endpoint."""
|
||||
|
||||
# Exact match for reference
|
||||
reference = rest_filters.CharFilter(
|
||||
label='Filter by exact reference',
|
||||
field_name='reference',
|
||||
lookup_expr="iexact"
|
||||
)
|
||||
|
||||
assigned_to_me = rest_filters.BooleanFilter(label='assigned_to_me', method='filter_assigned_to_me')
|
||||
|
||||
@ -97,6 +104,9 @@ class PurchaseOrderFilter(rest_filters.FilterSet):
|
||||
|
||||
return queryset
|
||||
|
||||
|
||||
class PurchaseOrderFilter(OrderFilter):
|
||||
"""Custom API filters for the PurchaseOrderList endpoint."""
|
||||
class Meta:
|
||||
"""Metaclass options."""
|
||||
|
||||
@ -106,6 +116,17 @@ class PurchaseOrderFilter(rest_filters.FilterSet):
|
||||
]
|
||||
|
||||
|
||||
class SalesOrderFilter(OrderFilter):
|
||||
"""Custom API filters for the SalesOrderList endpoint."""
|
||||
class Meta:
|
||||
"""Metaclass options."""
|
||||
|
||||
model = models.SalesOrder
|
||||
fields = [
|
||||
'customer',
|
||||
]
|
||||
|
||||
|
||||
class PurchaseOrderList(APIDownloadMixin, ListCreateAPI):
|
||||
"""API endpoint for accessing a list of PurchaseOrder objects.
|
||||
|
||||
@ -613,6 +634,7 @@ class SalesOrderList(APIDownloadMixin, ListCreateAPI):
|
||||
|
||||
queryset = models.SalesOrder.objects.all()
|
||||
serializer_class = serializers.SalesOrderSerializer
|
||||
filterset_class = SalesOrderFilter
|
||||
|
||||
def create(self, request, *args, **kwargs):
|
||||
"""Save user information on create."""
|
||||
|
Reference in New Issue
Block a user