Beispiel #1
0
    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')
Beispiel #2
0
    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')
Beispiel #4
0
    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)