Пример #1
0
def driver_get_latest_order(request):
    # Get token
    access_token = AccessToken.objects.get(
        token=request.GET.get("access_token"), expires__gt=timezone.now())
    driver = access_token.user.driver
    order = OrderSerializer(
        Order.objects.filter(driver=driver).order_by("picked_at").last()).data
    return JsonResponse({"order": order})
Пример #2
0
def last_orders(request, format=None):
    query = get_last_orders(request.user)
    data = query.all()
    serialized_list = [
        OrderSerializer(order, context={
            'request': request
        }).data for order in data
    ]
    return Response(serialized_list)
Пример #3
0
 async def put(self, request, user, order_id):
     order = await check_user_cafe(user, order_id)
     serialized_order, errors = OrderSerializer().load(request.json,
                                                       partial=True)
     if errors:
         raise InvalidUsage(message=f"Wrong data provided: {errors}")
     order.update(serialized_order)
     await order.commit()
     return json({'order': str(order.pk)}, status=200)
Пример #4
0
def customer_get_latest_order(request):
    access_token = AccessToken.objects.get(
        token=request.GET.get("access_token"), expires__gt=timezone.now())

    customer = access_token.user.customer
    order = OrderSerializer(
        Order.objects.filter(customer=customer).last()).data

    return JsonResponse({"order": order})
Пример #5
0
 def get(self, request, *args, **kwargs):
     if not request.user.is_authenticated:
         return JsonResponse({'Status': False, 'Error': 'Log in required'}, status=403)
     order = Order.objects.filter(
         user_id=request.user.id).exclude(status='basket').prefetch_related(
         'ordered_items__product_info__product__category',
         'ordered_items__product_info__product_parameters__parameter').select_related('contact').annotate(
         total_sum=Sum(F('ordered_items__quantity') * F('ordered_items__product_info__price'))).distinct()
     serializer = OrderSerializer(order, many=True)
     return Response(serializer.data)
Пример #6
0
 def setUp(self):
     post_save.disconnect(sender=Order, dispatch_uid="post_save_publish")
     with freeze_time('2020-09-05T00:00:00'):
         self.order = OrderFactory()
         self.serializer = OrderSerializer(instance=self.order)
Пример #7
0
def driver_get_ready_orders(request):
    orders = OrderSerializer(Order.objects.filter(status=Order.READY,
                                                  driver=None).order_by("-id"),
                             many=True).data
    return JsonResponse({"orders": orders})