add new api
This commit is contained in:
25
core/apps/wherehouse/views/inventory.py
Normal file
25
core/apps/wherehouse/views/inventory.py
Normal file
@@ -0,0 +1,25 @@
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from rest_framework import generics, views
|
||||
from rest_framework.response import Response
|
||||
|
||||
from core.apps.wherehouse.serializers import inventory as serializers
|
||||
from core.apps.wherehouse.models import WhereHouse, Inventory
|
||||
from core.apps.accounts.permissions.permissions import HasRolePermission
|
||||
|
||||
|
||||
class InventoryListApiView(generics.GenericAPIView):
|
||||
serializer_class = serializers.InventoryListSerializer
|
||||
queryset = Inventory.objects.all()
|
||||
permissions_class = [HasRolePermission]
|
||||
required_permissions = ['wherehouse']
|
||||
|
||||
def get(self, request, wherehouse_id):
|
||||
wherehouse = get_object_or_404(WhereHouse, id=wherehouse_id)
|
||||
inventories = Inventory.objects.filter(wherehouse=wherehouse)
|
||||
page = self.paginate_queryset(inventories)
|
||||
if page is not None:
|
||||
serializer = self.serializer_class(page, many=True)
|
||||
return self.get_paginated_response(serializer.data)
|
||||
serializer = self.serializer_class(inventories, many=True)
|
||||
return Response(serializer.data, status=200)
|
||||
Reference in New Issue
Block a user