diff --git a/core/viewsets.py b/core/viewsets.py index 922094b2..2ca3486b 100644 --- a/core/viewsets.py +++ b/core/viewsets.py @@ -260,8 +260,9 @@ class OrderViewSet(EvibesViewSet): def buy(self, request, *_args, **kwargs): serializer = BuyOrderSerializer(data=request.data) serializer.is_valid(raise_exception=True) + order_uuid = kwargs.get("pk") try: - order = Order.objects.get(user=request.user, uuid=kwargs.get("order_uuid")) + order = Order.objects.get(user=request.user, uuid=order_uuid) instance = order.buy( force_balance=serializer.validated_data.get("force_balance"), force_payment=serializer.validated_data.get("force_payment"), @@ -277,7 +278,7 @@ class OrderViewSet(EvibesViewSet): case _: raise TypeError(_(f"wrong type came from order.buy() method: {type(instance)!s}")) except Order.DoesNotExist: - return Response(status=status.HTTP_404_NOT_FOUND) + return Response(status=status.HTTP_404_NOT_FOUND, data={"detail": _(f"order {order_uuid} not found")}) @action(detail=False, methods=["post"], url_path="buy_unregistered") @ratelimit(key="ip", rate="2/h", block=True) @@ -299,7 +300,7 @@ class OrderViewSet(EvibesViewSet): return Response(status=status.HTTP_202_ACCEPTED, data=TransactionProcessSerializer(transaction).data) @action(detail=True, methods=["post"], url_path="add_order_product") - def add_order_product(self, request, *_args, **kwargs): + def add_order_product(self, request, **kwargs): serializer = AddOrderProductSerializer(data=request.data) serializer.is_valid(raise_exception=True) try: @@ -317,7 +318,7 @@ class OrderViewSet(EvibesViewSet): return Response(status=status.HTTP_404_NOT_FOUND) @action(detail=True, methods=["post"], url_path="remove_order_product") - def remove_order_product(self, request, *_args, **kwargs): + def remove_order_product(self, request, **kwargs): serializer = RemoveOrderProductSerializer(data=request.data) serializer.is_valid(raise_exception=True) try: