From a811a44b2ad63754c8dc5a5f4e5fe2aae2b274bf Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Sat, 15 Aug 2015 13:32:16 +0200 Subject: [PATCH] Statistics: Fixed payment statistics --- src/pretix/plugins/statistics/views.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/pretix/plugins/statistics/views.py b/src/pretix/plugins/statistics/views.py index b84eaf5fb8..811319f2bf 100644 --- a/src/pretix/plugins/statistics/views.py +++ b/src/pretix/plugins/statistics/views.py @@ -32,10 +32,16 @@ class IndexView(EventPermissionRequiredMixin, TemplateView): 'datetime').annotate(count=Count('id')) } paid_by_day = { - o['payment_date'].date(): o['count'] + ( + o['payment_date'] + if isinstance(o['payment_date'], datetime.date) + else dateutil.parser.parse(o['payment_date']).date() + ): o['count'] for o in - Order.objects.current.filter(event=self.request.event, payment_date__isnull=False).values( - 'payment_date').annotate(count=Count('id')) + Order.objects.current.filter(event=self.request.event, + payment_date__isnull=False).extra( + {'payment_date': 'date(payment_date)'} + ).values('payment_date').annotate(count=Count('id')) } data = [] for d in dateutil.rrule.rrule( @@ -79,12 +85,17 @@ class IndexView(EventPermissionRequiredMixin, TemplateView): ] rev_by_day = { - o['payment_date'].date(): o['sum'] + ( + o['payment_date'] + if isinstance(o['payment_date'], datetime.date) + else dateutil.parser.parse(o['payment_date']).date() + ): o['sum'] for o in Order.objects.current.filter(event=self.request.event, status=Order.STATUS_PAID, - payment_date__isnull=False).values( - 'payment_date').annotate(sum=Sum('total')) + payment_date__isnull=False).extra( + {'payment_date': 'date(payment_date)'} + ).values('payment_date').annotate(sum=Sum('total')) } data = [] total = 0