mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 12:06:44 +00:00
106 lines
3.1 KiB
Python
106 lines
3.1 KiB
Python
from rest_framework import generics, permissions
|
|
|
|
from .models import Supplier, SupplierPart, SupplierPriceBreak
|
|
from .models import Manufacturer, Customer
|
|
from .serializers import SupplierSerializer
|
|
from .serializers import SupplierPartSerializer
|
|
from .serializers import SupplierPriceBreakSerializer
|
|
from .serializers import ManufacturerSerializer
|
|
from .serializers import CustomerSerializer
|
|
|
|
|
|
class ManufacturerDetail(generics.RetrieveUpdateDestroyAPIView):
|
|
|
|
queryset = Manufacturer.objects.all()
|
|
serializer_class = ManufacturerSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class ManufacturerList(generics.ListCreateAPIView):
|
|
|
|
queryset = Manufacturer.objects.all()
|
|
serializer_class = ManufacturerSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class CustomerDetail(generics.RetrieveUpdateDestroyAPIView):
|
|
|
|
queryset = Customer.objects.all()
|
|
serializer_class = CustomerSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class CustomerList(generics.ListCreateAPIView):
|
|
|
|
queryset = Customer.objects.all()
|
|
serializer_class = CustomerSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class SupplierDetail(generics.RetrieveUpdateDestroyAPIView):
|
|
|
|
queryset = Supplier.objects.all()
|
|
serializer_class = SupplierSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class SupplierList(generics.ListCreateAPIView):
|
|
|
|
queryset = Supplier.objects.all()
|
|
serializer_class = SupplierSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class SupplierPartDetail(generics.RetrieveUpdateDestroyAPIView):
|
|
|
|
queryset = SupplierPart.objects.all()
|
|
serializer_class = SupplierPartSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class SupplierPartList(generics.ListCreateAPIView):
|
|
|
|
serializer_class = SupplierPartSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
def get_queryset(self):
|
|
parts = SupplierPart.objects.all()
|
|
params = self.request.query_params
|
|
|
|
supplier_id = params.get('supplier', None)
|
|
if supplier_id:
|
|
parts = parts.filter(supplier=supplier_id)
|
|
|
|
part_id = params.get('part', None)
|
|
if part_id:
|
|
parts = parts.filter(part=part_id)
|
|
|
|
manu_id = params.get('manufacturer', None)
|
|
if manu_id:
|
|
parts = parts.filter(manufacturer=manu_id)
|
|
|
|
return parts
|
|
|
|
|
|
class SupplierPriceBreakDetail(generics.RetrieveUpdateDestroyAPIView):
|
|
|
|
queryset = SupplierPriceBreak.objects.all()
|
|
serializer_class = SupplierPriceBreakSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|
|
|
|
|
|
class SupplierPriceBreakList(generics.ListCreateAPIView):
|
|
|
|
def get_queryset(self):
|
|
prices = SupplierPriceBreak.objects.all()
|
|
params = self.request.query_params
|
|
|
|
part_id = params.get('part', None)
|
|
if part_id:
|
|
prices = prices.filter(part=part_id)
|
|
|
|
return prices
|
|
|
|
serializer_class = SupplierPriceBreakSerializer
|
|
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
|