Esempio n. 1
0
class VentaListView(ListView):
    context_object_name = 'ventas'

    def dispatch(self, request, *args, **kwargs):
        self.form = VentaPeriodoForm(request.GET, prefix='venta')
        if self.form.is_valid():
            self.inicio = self.form.cleaned_data['inicio']
            self.fin = datetime.combine(self.form.cleaned_data['fin'],
                                        time.max)
            self.item = self.form.cleaned_data['item']

        return super(VentaListView, self).dispatch(request, *args, **kwargs)

    def get_queryset(self):
        return Venta.objects.filter(
            recibo__created__gte=self.inicio,
            recibo__created__lte=self.fin,
            recibo__nulo=False,
            item=self.item,
        )

    def get_context_data(self, **kwargs):
        context = super(VentaListView, self).get_context_data(**kwargs)
        context['item'] = self.item
        context['inicio'] = self.inicio
        context['fin'] = self.fin
        total = self.get_queryset().aggregate(total=Sum('total'))['total']
        if total is None:
            total = Decimal()
        context['total'] = total
        return context
Esempio n. 2
0
class VentaListView(ListView):
    context_object_name = 'ventas'

    def dispatch(self, request, *args, **kwargs):
        self.form = VentaPeriodoForm(request.GET, prefix='venta')
        if self.form.is_valid():
            self.inicio = self.form.cleaned_data['inicio']
            self.fin = datetime.combine(self.form.cleaned_data['fin'], time.max)
            self.item = self.form.cleaned_data['item']

        return super(VentaListView, self).dispatch(request, *args, **kwargs)

    def get_queryset(self):
        return Venta.objects.filter(
            recibo__created__gte=self.inicio,
            recibo__created__lte=self.fin,
            recibo__nulo=False,
            item=self.item,
        )

    def get_context_data(self, **kwargs):
        context = super(VentaListView, self).get_context_data(**kwargs)
        context['item'] = self.item
        context['inicio'] = self.inicio
        context['fin'] = self.fin
        context['total'] = sum(v.total() for v in self.object_list)
        return context