diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index 79c662182e..019f939f60 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -28,6 +28,7 @@ from company.api import company_api_urls from stock.api import stock_api_urls from build.api import build_api_urls from order.api import order_api_urls +from label.api import label_api_urls from django.conf import settings from django.conf.urls.static import static @@ -58,6 +59,7 @@ apipatterns = [ url(r'^stock/', include(stock_api_urls)), url(r'^build/', include(build_api_urls)), url(r'^order/', include(order_api_urls)), + url(r'^label/', include(label_api_urls)), # User URLs url(r'^user/', include(user_urls)), diff --git a/InvenTree/label/api.py b/InvenTree/label/api.py new file mode 100644 index 0000000000..539851285a --- /dev/null +++ b/InvenTree/label/api.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.conf.urls import url, include + +from django_filters.rest_framework import DjangoFilterBackend + +from rest_framework import generics, filters + +from .models import StockItemLabel +from .serializers import StockItemLabelSerializer + + +class StockItemLabelList(generics.ListAPIView): + """ + API endpoint for viewing list of StockItemLabel objects. + """ + + queryset = StockItemLabel.objects.all() + serializer_class = StockItemLabelSerializer + + filter_backends = [ + DjangoFilterBackend, + filters.SearchFilter + ] + + filter_fields = [ + 'enabled', + ] + + search_fields = [ + 'name', + 'description', + ] + + +label_api_urls = [ + + # Stock item labels + url(r'stock/', include([ + url(r'^.*$', StockItemLabelList.as_view(), name='api-stock-label-list'), + ])), +] diff --git a/InvenTree/label/serializers.py b/InvenTree/label/serializers.py new file mode 100644 index 0000000000..ca998d14bd --- /dev/null +++ b/InvenTree/label/serializers.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from InvenTree.serializers import InvenTreeModelSerializer +from InvenTree.serializers import InvenTreeAttachmentSerializerField + +from .models import StockItemLabel + + +class StockItemLabelSerializer(InvenTreeModelSerializer): + """ + Serializes a StockItemLabel object. + """ + + label = InvenTreeAttachmentSerializerField(required=True) + + class Meta: + model = StockItemLabel + fields = [ + 'pk', + 'name', + 'description', + 'label', + 'filters', + 'enabled', + ]