def get_queryset(self, *args, **kwargs): # determine whether to show yesterdays transfer # This will enable selling today's stock after mid day show_yesterday = is_business_time() today = datetime.date.today() if show_yesterday: yesterday = datetime.date.today() - datetime.timedelta(days=1) else: yesterday = today try: if self.kwargs['pk']: queryset_list = Item.objects.filter( Q(transfer__date=today) | Q(transfer__date=yesterday) ).filter(transfer__counter__pk=self.kwargs['pk'])\ .distinct('stock').select_related() else: queryset_list = Item.objects.filter( Q(transfer__date=today) | Q(transfer__date=yesterday) ).distinct('stock').select_related() except Exception as e: queryset_list = Item.objects.all().filter( Q(transfer__date=today) | Q(transfer__date=yesterday) ).distinct('stock') page_size = self.request.GET.get('page_size') if page_size: pagination.PageNumberPagination.page_size = page_size else: pagination.PageNumberPagination.page_size = 10 transfer_date = self.request.GET.get('date') if transfer_date: queryset_list = queryset_list.filter(transfer__date__icontains=transfer_date) shop_id = self.request.GET.get('counter') if shop_id: queryset_list = queryset_list.filter(counter=int(shop_id)) quantity_check = self.request.GET.get('quantity_check') if quantity_check: queryset_list = queryset_list.exclude(qty=0) query = self.request.GET.get('q') if query: queryset_list = queryset_list.filter( Q(stock__variant__sku__icontains=query) | Q(stock__variant__product__name__icontains=query)) return queryset_list.order_by('stock')
def get_queryset(self, *args, **kwargs): show_yesterday = is_business_time() today = datetime.date.today() if show_yesterday: yesterday = datetime.date.today() - datetime.timedelta(days=1) else: yesterday = today queryset_list = Item.objects.filter(qty__gte=1) try: if self.kwargs['pk']: queryset_list = queryset_list.filter( Q(transfer__date=today) | Q(transfer__date=yesterday)).filter( menu__category__pk=self.kwargs['pk']) else: queryset_list = queryset_list.filter( Q(transfer__date=today) | Q(transfer__date=yesterday)) except Exception as e: print e queryset_list = queryset_list.filter( Q(transfer__date=today) | Q(transfer__date=yesterday)) if self.request.GET.get('kitchen'): queryset_list = queryset_list.filter( counter__pk=self.request.GET.get('kitchen')) page_size = 'page_size' if self.request.GET.get(page_size): pagination.PageNumberPagination.page_size = self.request.GET.get( page_size) else: pagination.PageNumberPagination.page_size = 8 if self.request.GET.get('date'): queryset_list = queryset_list.filter( date__icontains=self.request.GET.get('date')) if self.request.GET.get('counter'): queryset_list = queryset_list.filter( counter__pk=self.request.GET.get('counter')) query = self.request.GET.get('q') if query: queryset_list = queryset_list.filter( Q(stock__variant__sku__icontains=query) | Q(stock__variant__product__name__icontains=query)) return queryset_list.distinct('menu').select_related().order_by('menu')
def get_queryset(self, *args, **kwargs): # determine whether to show yesterdays transfer # This will enable selling today's stock after mid day show_yesterday = is_business_time() today = datetime.date.today() if show_yesterday: yesterday = datetime.date.today() - datetime.timedelta(days=1) else: yesterday = today try: if self.kwargs['pk']: queryset_list = Item.objects.filter( Q(transfer__date=today) | Q(transfer__date=yesterday) ).filter(transfer__counter__pk=self.kwargs['pk'])\ .distinct('stock').select_related() else: queryset_list = Item.objects.filter( Q(transfer__date=today) | Q(transfer__date=yesterday) ).distinct('stock').select_related() except Exception as e: queryset_list = Item.objects.all().filter( Q(transfer__date=today) | Q(transfer__date=yesterday) ).distinct('stock') page_size = 'page_size' if self.request.GET.get(page_size): pagination.PageNumberPagination.page_size = self.request.GET.get(page_size) else: pagination.PageNumberPagination.page_size = 10 if self.request.GET.get('date'): queryset_list = queryset_list.filter(transfer__date__icontains=self.request.GET.get('date')) query = self.request.GET.get('q') if query: queryset_list = queryset_list.filter( Q(name__icontains=query) | Q(menu__name__icontains=query)) return queryset_list.order_by('stock')
def get(self, request): query = self.request.GET.get('q', '') today = datetime.date.today() show_yesterday = is_business_time() today = datetime.date.today() if show_yesterday: yesterday = datetime.date.today() - datetime.timedelta(days=1) else: yesterday = today all_counter_menu_stock = [] """ get the counter stocks """ try: counter_stock = CounterItems.objects.filter( Q(transfer__date=today) | Q(transfer__date=yesterday)).filter( qty__gte=1).distinct('stock').select_related() if query: counter_stock = counter_stock.filter( Q(stock__variant__sku__icontains=query) | Q(stock__variant__product__name__icontains=query) | Q(counter__name__icontains=query)).order_by('stock') if counter_stock.exists(): for i in counter_stock: """ set the json data fields using getCounterItemsJsonData(obj) """ all_counter_menu_stock.append(getCounterItemsJsonData(i)) except Exception as e: """ log error """ logger.info('Error in getting counter stock: ' + str(e)) pass serializer = SearchTransferredStockListSerializer( all_counter_menu_stock, many=True) return Response(serializer.data)