From 20da4e3ed710a352d941abab1e69da8447d6142f Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Fri, 29 Aug 2025 11:24:42 +0500 Subject: [PATCH] add: add stock movemend delete api --- core/apps/wherehouse/urls.py | 1 + core/apps/wherehouse/views/stock_movemend.py | 31 +++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) 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 + ) + + + + + + +