def get(self, request): notifiations = Notification.objects.filter(user=request.user) page = request.GET.get("page", 1) queryset, number = queryset_paginator(notifiations, page) serializer = NotificationSerializer(queryset, many=True, context={"request": request}) return Response({"list": serializer.data, "pages_num": number})
def get(self, request): if not request.user.user_type == "customer": return Response( {"error": _("Sorry You haven't favourite product list")}, status=status.HTTP_401_UNAUTHORIZED) products = request.user.favourite_products.all() page = request.GET.get("page", 1) queryset, number = queryset_paginator(products, page) serializer = FavouriteProductListSerializer( queryset, many=True, context={"user": request.user}) return Response({"list": serializer.data, "pages_num": number})
def get(self, request): qs = (request.GET).dict() location = None if "location" in qs: location = qs["location"] del qs["location"] if "page" in qs: del qs["page"] filter_list = ['first_name__startswith', 'products__sub_category__name'] for key in qs: if not (key in filter_list): del key sellers = Seller.objects.filter(**qs).distinct() lat1 = None if location: try: lat1, lon1 = location.split(',') except: return Response({"error": "please enter a valid location format"}, status=status.HTTP_400_BAD_REQUEST) else: if request.user.pk: try: user_location = UserLocation.objects.get( user=request.user, is_default=True) except: return Response({"error": _("You don't have any locations yet")}, status=status.HTTP_400_BAD_REQUEST) lat1, lon1 = user_location.lat, user_location.lon seller_list = [] if lat1: try: configuration = Configuration.get_solo() radius = configuration.radius except: radius = 2000000 for seller in sellers: try: seller_location = seller.locations.get(is_default=True) lat, lon = (seller_location.lat, seller_location.lon) distance = get_distance(lat1, lon1, lat, lon) if distance == -1 or ((distance is not None) and (distance <= radius)): seller.calculated_distance = distance seller_list.append(seller) except: pass else: seller_list = sellers page = request.GET.get("page", 1) queryset, number = queryset_paginator(seller_list, page) serializer = SellerSerializer( queryset, many=True, context={"user": request.user}) return Response({"list": serializer.data, "pages_num": number})
def get(self, request): orders = Order.objects.filter(order_owner=request.user) page = request.GET.get("page", 1) queryset, number = queryset_paginator(orders, page) serializer = CustomerOrderSerializer(queryset, many=True) return Response({"list": serializer.data})
def get(self, request): staffs = Staff.objects.filter(seller=request.user) page = request.GET.get("page", 1) queryset, number = queryset_paginator(staffs, page) serializer = StaffSerializer(queryset, many=True) return Response({"list": serializer.data, "pages_num": number})
def get(self, request): orders = Seller.objects.get(pk=request.user.id).seller_orders.filter(order_status='delivered') page = request.GET.get("page", 1) queryset, number = queryset_paginator(orders, page) serializer = SellerOrdersSerializer(queryset, many=True) return Response({"list": serializer.data, "pages_num": number})
def get(self, request): products = Product.objects.filter(seller=request.user) page = request.GET.get("page", 1) queryset, number = queryset_paginator(products, page) serializer = SellerProductsSerializer(queryset, many=True, context={"request": request}) return Response({"list": serializer.data, "pages_num": number})
def get(self, request): drivers = Seller.objects.get(pk=request.user.pk).drivers.all() page = request.GET.get("page", 1) queryset, number = queryset_paginator(drivers, page) serializer = DriverSerializer(queryset, many=True) return Response({"list": serializer.data, "pages_num": number})