From 6693570995ed0c5130410fa4f52215077d4b72d5 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 25 Jul 2016 09:43:00 +0200 Subject: [PATCH] Statistics plugin: Fixed incorrect timezones --- src/pretix/plugins/statistics/views.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/pretix/plugins/statistics/views.py b/src/pretix/plugins/statistics/views.py index 524061f10..e5d678405 100644 --- a/src/pretix/plugins/statistics/views.py +++ b/src/pretix/plugins/statistics/views.py @@ -4,6 +4,7 @@ import json import dateutil.parser import dateutil.rrule from django.db.models import Count +from django.utils import timezone from django.views.generic import TemplateView from pretix.base.models import Item, Order, OrderPosition @@ -23,6 +24,7 @@ class IndexView(EventPermissionRequiredMixin, TemplateView): def get_context_data(self, **kwargs): ctx = super().get_context_data(**kwargs) + tz = timezone.get_current_timezone() if 'latest' in self.request.GET: clear_cache() @@ -34,12 +36,12 @@ class IndexView(EventPermissionRequiredMixin, TemplateView): if not ctx['obd_data']: ordered_by_day = {} for o in Order.objects.filter(event=self.request.event).values('datetime'): - day = o['datetime'].date() + day = o['datetime'].astimezone(tz).date() ordered_by_day[day] = ordered_by_day.get(day, 0) + 1 paid_by_day = {} for o in Order.objects.filter(event=self.request.event, payment_date__isnull=False).values('payment_date'): - day = o['payment_date'].date() + day = o['payment_date'].astimezone(tz).date() paid_by_day[day] = paid_by_day.get(day, 0) + 1 data = [] @@ -96,7 +98,7 @@ class IndexView(EventPermissionRequiredMixin, TemplateView): for o in Order.objects.filter(event=self.request.event, status=Order.STATUS_PAID, payment_date__isnull=False).values('payment_date', 'total'): - day = o['payment_date'].date() + day = o['payment_date'].astimezone(tz).date() rev_by_day[day] = rev_by_day.get(day, 0) + o['total'] data = []