diff --git a/src/pretix/plugins/statistics/views.py b/src/pretix/plugins/statistics/views.py index 524061f109..e5d678405d 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 = []