Fixes: 1) Fix OrderViewSet buy action.
Extra: 1) Minor code improvements.
This commit is contained in:
parent
18782a8bc0
commit
b71cc2355e
1 changed files with 5 additions and 4 deletions
|
|
@ -260,8 +260,9 @@ class OrderViewSet(EvibesViewSet):
|
||||||
def buy(self, request, *_args, **kwargs):
|
def buy(self, request, *_args, **kwargs):
|
||||||
serializer = BuyOrderSerializer(data=request.data)
|
serializer = BuyOrderSerializer(data=request.data)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
|
order_uuid = kwargs.get("pk")
|
||||||
try:
|
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(
|
instance = order.buy(
|
||||||
force_balance=serializer.validated_data.get("force_balance"),
|
force_balance=serializer.validated_data.get("force_balance"),
|
||||||
force_payment=serializer.validated_data.get("force_payment"),
|
force_payment=serializer.validated_data.get("force_payment"),
|
||||||
|
|
@ -277,7 +278,7 @@ class OrderViewSet(EvibesViewSet):
|
||||||
case _:
|
case _:
|
||||||
raise TypeError(_(f"wrong type came from order.buy() method: {type(instance)!s}"))
|
raise TypeError(_(f"wrong type came from order.buy() method: {type(instance)!s}"))
|
||||||
except Order.DoesNotExist:
|
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")
|
@action(detail=False, methods=["post"], url_path="buy_unregistered")
|
||||||
@ratelimit(key="ip", rate="2/h", block=True)
|
@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)
|
return Response(status=status.HTTP_202_ACCEPTED, data=TransactionProcessSerializer(transaction).data)
|
||||||
|
|
||||||
@action(detail=True, methods=["post"], url_path="add_order_product")
|
@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 = AddOrderProductSerializer(data=request.data)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
try:
|
try:
|
||||||
|
|
@ -317,7 +318,7 @@ class OrderViewSet(EvibesViewSet):
|
||||||
return Response(status=status.HTTP_404_NOT_FOUND)
|
return Response(status=status.HTTP_404_NOT_FOUND)
|
||||||
|
|
||||||
@action(detail=True, methods=["post"], url_path="remove_order_product")
|
@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 = RemoveOrderProductSerializer(data=request.data)
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue