fix: cart item delete
This commit is contained in:
@@ -4,13 +4,13 @@ class CanDeleteCartItemPermissions(BasePermission):
|
||||
message = "شما دسترسی حذف این ایتم را ندارید"
|
||||
|
||||
def has_object_permission(self, request, view, obj):
|
||||
if obj.order.user != request.user:
|
||||
if obj.cart.user != request.user:
|
||||
self.message = "این آیتم متعلق به سبد خرید شما نیست."
|
||||
return False
|
||||
|
||||
if obj.order.status != 'CART':
|
||||
self.message = "وضعیت سفارش سبد خرید نیست و آیتمی را نمیتوانید حذف کنید."
|
||||
return False
|
||||
# if obj.order.status != 'CART':
|
||||
# self.message = "وضعیت سفارش سبد خرید نیست و آیتمی را نمیتوانید حذف کنید."
|
||||
# return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
@@ -139,13 +139,13 @@ class CartItemViews(APIView):
|
||||
return Response({'detail': response, 'count': quantity}, status=status.HTTP_202_ACCEPTED)
|
||||
|
||||
def delete(self, request, pk):
|
||||
order_item = get_object_or_404(OrderItemModel, pk=pk)
|
||||
cart_item = get_object_or_404(CartItem, pk=pk)
|
||||
permission = CanDeleteCartItemPermissions()
|
||||
|
||||
if not permission.has_object_permission(request, self, order_item):
|
||||
if not permission.has_object_permission(request, self, cart_item):
|
||||
return Response({"detail": permission.message}, status=status.HTTP_403_FORBIDDEN)
|
||||
|
||||
order_item.delete()
|
||||
cart_item.delete()
|
||||
return Response(
|
||||
{"detail": "محصول با موفقیت از سبد خرید شما حذف شد"},
|
||||
status=status.HTTP_204_NO_CONTENT,
|
||||
|
||||
Reference in New Issue
Block a user