Features: 1) Automatically create a new Order if no pending Order exists for authenticated users;
Fixes: 1) Handle `Order.DoesNotExist` exception in `current` method of viewsets; Extra: 1) Minor improvement to user experience by ensuring an Order object is always returned.
This commit is contained in:
parent
c6f2029285
commit
4bce9224fc
1 changed files with 4 additions and 1 deletions
|
|
@ -806,7 +806,10 @@ class OrderViewSet(EvibesViewSet):
|
|||
def current(self, request):
|
||||
if not request.user.is_authenticated:
|
||||
raise PermissionDenied(permission_denied_message)
|
||||
order = Order.objects.get(user=request.user, status="PENDING")
|
||||
try:
|
||||
order = Order.objects.get(user=request.user, status="PENDING")
|
||||
except Order.DoesNotExist:
|
||||
order = Order.objects.create(user=request.user)
|
||||
return Response(
|
||||
status=status.HTTP_200_OK,
|
||||
data=OrderDetailSerializer(order).data,
|
||||
|
|
|
|||
Loading…
Reference in a new issue