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) return Response(serializer.data)
part_api_urls = [ part_api_urls = [
url(r'^tree/?', PartCategoryTree.as_view(), name='api-part-tree'), 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 StockLocation, StockItem
from .models import StockItemTracking from .models import StockItemTracking
from .models import StockItemAttachment
from part.models import Part, PartCategory from part.models import Part, PartCategory
from part.serializers import PartBriefSerializer from part.serializers import PartBriefSerializer
@ -22,6 +23,7 @@ from company.serializers import SupplierPartSerializer
from .serializers import StockItemSerializer from .serializers import StockItemSerializer
from .serializers import LocationSerializer, LocationBriefSerializer from .serializers import LocationSerializer, LocationBriefSerializer
from .serializers import StockTrackingSerializer from .serializers import StockTrackingSerializer
from .serializers import StockItemAttachmentSerializer
from InvenTree.views import TreeSerializer from InvenTree.views import TreeSerializer
from InvenTree.helpers import str2bool, isNull 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): class StockTrackingList(generics.ListCreateAPIView):
""" API endpoint for list view of StockItemTracking objects. """ 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'remove/?', StockRemove.as_view(), name='api-stock-remove'),
url(r'transfer/?', StockTransfer.as_view(), name='api-stock-transfer'), 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'track/?', StockTrackingList.as_view(), name='api-stock-track'),
url(r'^tree/?', StockCategoryTree.as_view(), name='api-stock-tree'), 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 StockItem, StockLocation
from .models import StockItemTracking from .models import StockItemTracking
from .models import StockItemAttachment
from django.db.models import Sum, Count from django.db.models import Sum, Count
from django.db.models.functions import Coalesce 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): class StockTrackingSerializer(InvenTreeModelSerializer):
""" Serializer for StockItemTracking model """ """ Serializer for StockItemTracking model """