mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 20:16:44 +00:00
- Requires authentication (or read only) - Separated URL patterns - Better use of generics - Can add/edit parts and part categories
51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
from rest_framework import generics, permissions
|
|
|
|
from .models import PartCategory, Part, PartParameter
|
|
from .serializers import PartSerializer
|
|
from .serializers import PartCategoryBriefSerializer
|
|
from .serializers import PartCategoryDetailSerializer
|
|
from .serializers import PartParameterSerializer
|
|
|
|
|
|
class PartDetail(generics.RetrieveUpdateDestroyAPIView):
|
|
""" Return information on a single part
|
|
"""
|
|
queryset = Part.objects.all()
|
|
serializer_class = PartSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class PartParameters(generics.ListCreateAPIView):
|
|
""" Return all parameters associated with a particular part
|
|
"""
|
|
def get_queryset(self):
|
|
part_id = self.kwargs['pk']
|
|
return PartParameter.objects.filter(part=part_id)
|
|
|
|
serializer_class = PartParameterSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class PartList(generics.ListCreateAPIView):
|
|
|
|
queryset = Part.objects.all()
|
|
serializer_class = PartSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class PartCategoryDetail(generics.RetrieveUpdateAPIView):
|
|
""" Return information on a single PartCategory
|
|
"""
|
|
queryset = PartCategory.objects.all()
|
|
serializer_class = PartCategoryDetailSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class PartCategoryList(generics.ListCreateAPIView):
|
|
""" Return a list of all top-level part categories.
|
|
Categories are considered "top-level" if they do not have a parent
|
|
"""
|
|
queryset = PartCategory.objects.filter(parent=None)
|
|
serializer_class = PartCategoryDetailSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|