Add API endpoint for StockItem attachment items

This commit is contained in:
Oliver Walters 2020-05-11 23:32:40 +10:00
parent f36c5137dd
commit 17d0a015f2
3 changed files with 42 additions and 0 deletions

View File

@ -639,6 +639,7 @@ class BomItemValidate(generics.UpdateAPIView):
return Response(serializer.data)
part_api_urls = [
url(r'^tree/?', PartCategoryTree.as_view(), name='api-part-tree'),

View File

@ -12,6 +12,7 @@ from django.db.models import Q
from .models import StockLocation, StockItem
from .models import StockItemTracking
from .models import StockItemAttachment
from part.models import Part, PartCategory
from part.serializers import PartBriefSerializer
@ -22,6 +23,7 @@ from company.serializers import SupplierPartSerializer
from .serializers import StockItemSerializer
from .serializers import LocationSerializer, LocationBriefSerializer
from .serializers import StockTrackingSerializer
from .serializers import StockItemAttachmentSerializer
from InvenTree.views import TreeSerializer
from InvenTree.helpers import str2bool, isNull
@ -624,6 +626,25 @@ class StockList(generics.ListCreateAPIView):
]
class StockAttachmentList(generics.ListCreateAPIView):
"""
API endpoint for listing (and creating) a StockItemAttachment (file upload)
"""
queryset = StockItemAttachment.objects.all()
serializer_class = StockItemAttachmentSerializer
filter_backends = [
DjangoFilterBackend,
filters.OrderingFilter,
filters.SearchFilter,
]
filter_fields = [
'stock_item',
]
class StockTrackingList(generics.ListCreateAPIView):
""" API endpoint for list view of StockItemTracking objects.
@ -692,6 +713,11 @@ stock_api_urls = [
url(r'remove/?', StockRemove.as_view(), name='api-stock-remove'),
url(r'transfer/?', StockTransfer.as_view(), name='api-stock-transfer'),
# Base URL for StockItemAttachment API endpoints
url(r'^attachment/', include([
url(r'^$', StockAttachmentList.as_view(), name='api-stock-attachment-list'),
])),
url(r'track/?', StockTrackingList.as_view(), name='api-stock-track'),
url(r'^tree/?', StockCategoryTree.as_view(), name='api-stock-tree'),

View File

@ -6,6 +6,7 @@ from rest_framework import serializers
from .models import StockItem, StockLocation
from .models import StockItemTracking
from .models import StockItemAttachment
from django.db.models import Sum, Count
from django.db.models.functions import Coalesce
@ -189,6 +190,20 @@ class LocationSerializer(InvenTreeModelSerializer):
]
class StockItemAttachmentSerializer(InvenTreeModelSerializer):
""" Serializer for StockItemAttachment model """
class Meta:
model = StockItemAttachment
fields = [
'pk',
'stock_item',
'attachment',
'comment'
]
class StockTrackingSerializer(InvenTreeModelSerializer):
""" Serializer for StockItemTracking model """