2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-05-05 14:58:50 +00:00

Added StockLocation API

This commit is contained in:
Oliver 2018-05-04 01:33:21 +10:00
parent 395bf23d6c
commit 3511ce29ee
2 changed files with 31 additions and 29 deletions

View File

@ -45,6 +45,27 @@ class StockFilter(FilterSet):
fields = ['quantity', 'part', 'location'] fields = ['quantity', 'part', 'location']
class StockLocationList(generics.ListCreateAPIView):
queryset = StockLocation.objects.all()
serializer_class = LocationSerializer
permission_classes = [
permissions.IsAuthenticatedOrReadOnly,
]
filter_backends = [
DjangoFilterBackend,
filters.SearchFilter,
filters.OrderingFilter,
]
filter_fields = [
'parent',
]
class StockList(generics.ListCreateAPIView): class StockList(generics.ListCreateAPIView):
""" """
@ -129,32 +150,6 @@ class LocationDetail(generics.RetrieveUpdateDestroyAPIView):
permission_classes = (permissions.IsAuthenticatedOrReadOnly,) permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
class StockLocationFilter(FilterSet):
class Meta:
model = StockLocation
fields = ['parent']
class LocationList(generics.ListCreateAPIView):
"""
get:
Return a list of all StockLocation objects
(with optional query filter)
post:
Create a new StockLocation
"""
queryset = StockLocation.objects.all()
serializer_class = LocationSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
filter_backends = (DjangoFilterBackend,)
filter_class = StockLocationFilter
stock_endpoints = [ stock_endpoints = [
url(r'^$', StockDetail.as_view(), name='stockitem-detail'), url(r'^$', StockDetail.as_view(), name='stockitem-detail'),
] ]
@ -168,6 +163,8 @@ stock_api_urls = [
# Detail for a single stock item # Detail for a single stock item
url(r'^(?P<pk>[0-9]+)/', include(stock_endpoints)), url(r'^(?P<pk>[0-9]+)/', include(stock_endpoints)),
url(r'location/?', StockLocationList.as_view(), name='api-location-list'),
url(r'location/(?P<pk>\d+)/', include(location_endpoints)), url(r'location/(?P<pk>\d+)/', include(location_endpoints)),
url(r'^tree/?', StockCategoryTree.as_view(), name='api-stock-tree'), url(r'^tree/?', StockCategoryTree.as_view(), name='api-stock-tree'),

View File

@ -67,14 +67,19 @@ class StockQuantitySerializer(serializers.ModelSerializer):
fields = ('quantity',) fields = ('quantity',)
class LocationSerializer(serializers.HyperlinkedModelSerializer): class LocationSerializer(serializers.ModelSerializer):
""" Detailed information about a stock location """ Detailed information about a stock location
""" """
url = serializers.CharField(source='get_absolute_url', read_only=True)
class Meta: class Meta:
model = StockLocation model = StockLocation
fields = ('url', fields = [
'pk',
'url',
'name', 'name',
'description', 'description',
'parent', 'parent',
'pathstring') 'pathstring'
]