def customer_get_order_history(request): access_token = AccessToken.objects.get( token=request.GET.get("access_token"), expires__gt=timezone.now()) customer = access_token.user.customer order_history = OrderSerializer(Order.objects.filter( customer=customer, status=Order.DELIVERED).order_by("picked_at"), many=True, context={ "request": request }).data return JsonResponse({"order_history": order_history})
def driver_get_latest_order(request): #GET token access_token = AccessToken.objects.get( token=request.GET.get("access_token"), expires__gt=timezone.now()) #GET Driver driver = access_token.user.driver #GET latest order latest_order = OrderSerializer( Order.objects.filter(driver=driver).order_by("picked_at").last()).data return JsonResponse({"latest_order": latest_order})
def driver_get_ready_orders(request): ''' Get orders which are ready to be picked. Restaurant should be within 5km of the driver's location :param request: Django request object :return: List of orders which are ready ''' restaurant = getattr(request.user, 'driver', None) orders = OrderSerializer( Order.objects.filter(status=Order.READY, driver=None, restaurant=restaurant).order_by("-id"), many=True).data return JsonResponse({"orders": orders})
def RestaurantOrdersView(request): """ This view will return all orders for the restaurant """ restaurantId = request.POST['restaurantId'] restaurant = Restaurant.objects.get(id=restaurantId) print(restaurant) print(restaurant.name) print(restaurant.id) orders = OrderSerializer( Order.objects.filter(restaurant=restaurant).order_by("-id"), many=True).data return JsonResponse({"orders": orders})
def driver_get_latest_order(request): try: access_token = AccessToken.objects.get( token=request.GET.get("access_token"), expires__gt=timezone.now()) except AccessToken.DoesNotExist: return JsonResponse({ "status": "falied", "error": "access_token is wrong" }) driver = access_token.user.driver order = OrderSerializer( Order.objects.filter(driver=driver).order_by("picked_at").last()).data return JsonResponse({"order": order})
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})
def driver_get_ready_orders(request): #get all the orders that are READY and no DRIVER assigned orders = OrderSerializer( Order.objects.filter(status = Order.READY, driver = None).order_by("-id"), many = True ).data return JsonResponse({"orders": orders})