diff --git a/core/apps/wherehouse/urls.py b/core/apps/wherehouse/urls.py index c88b4f3..c26b090 100644 --- a/core/apps/wherehouse/urls.py +++ b/core/apps/wherehouse/urls.py @@ -33,6 +33,7 @@ urlpatterns = [ [ path('create/', stock_movemend_views.StockMovemendCreateApiView.as_view()), path('list/', stock_movemend_views.StockMovemendListApiView.as_view()), + path('/delete/', stock_movemend_views.StockMovemendDeleteApiView.as_view()), ] )) ] diff --git a/core/apps/wherehouse/views/stock_movemend.py b/core/apps/wherehouse/views/stock_movemend.py index 47e7e1a..04b0678 100644 --- a/core/apps/wherehouse/views/stock_movemend.py +++ b/core/apps/wherehouse/views/stock_movemend.py @@ -1,3 +1,5 @@ +from django.shortcuts import get_object_or_404 + from rest_framework import generics, parsers, filters from rest_framework.response import Response @@ -53,4 +55,31 @@ class StockMovemendListApiView(generics.GenericAPIView): return self.get_paginated_response(serializer.data) serializer = self.serializer_class(queryset, many=True) return Response(serializer.data, status=200) - \ No newline at end of file + + +class StockMovemendDeleteApiView(generics.GenericAPIView): + serializer_class = None + permission_classes = [HasRolePermission] + required_permissions = [] + queryset = StockMovemend.objects.all() + + def delete(self, request, id): + stock_movemend = get_object_or_404(StockMovemend, id=id) + if stock_movemend.movemend_type == 'EXPECTED' or stock_movemend.movemend_type == 'CANCELLED': + stock_movemend.delete() + return Response( + {'success': True, 'message': 'stock movemend deleted'}, + status=204 + ) + else: + return Response( + {'success': False, 'message': 'can not delete stock movemend'}, + status=400 + ) + + + + + + +