forked from CGM_Public/pretix_original
Statistics plugin: Fixed incorrect timezones
This commit is contained in:
@@ -4,6 +4,7 @@ import json
|
|||||||
import dateutil.parser
|
import dateutil.parser
|
||||||
import dateutil.rrule
|
import dateutil.rrule
|
||||||
from django.db.models import Count
|
from django.db.models import Count
|
||||||
|
from django.utils import timezone
|
||||||
from django.views.generic import TemplateView
|
from django.views.generic import TemplateView
|
||||||
|
|
||||||
from pretix.base.models import Item, Order, OrderPosition
|
from pretix.base.models import Item, Order, OrderPosition
|
||||||
@@ -23,6 +24,7 @@ class IndexView(EventPermissionRequiredMixin, TemplateView):
|
|||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
ctx = super().get_context_data(**kwargs)
|
ctx = super().get_context_data(**kwargs)
|
||||||
|
tz = timezone.get_current_timezone()
|
||||||
|
|
||||||
if 'latest' in self.request.GET:
|
if 'latest' in self.request.GET:
|
||||||
clear_cache()
|
clear_cache()
|
||||||
@@ -34,12 +36,12 @@ class IndexView(EventPermissionRequiredMixin, TemplateView):
|
|||||||
if not ctx['obd_data']:
|
if not ctx['obd_data']:
|
||||||
ordered_by_day = {}
|
ordered_by_day = {}
|
||||||
for o in Order.objects.filter(event=self.request.event).values('datetime'):
|
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
|
ordered_by_day[day] = ordered_by_day.get(day, 0) + 1
|
||||||
paid_by_day = {}
|
paid_by_day = {}
|
||||||
for o in Order.objects.filter(event=self.request.event,
|
for o in Order.objects.filter(event=self.request.event,
|
||||||
payment_date__isnull=False).values('payment_date'):
|
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
|
paid_by_day[day] = paid_by_day.get(day, 0) + 1
|
||||||
|
|
||||||
data = []
|
data = []
|
||||||
@@ -96,7 +98,7 @@ class IndexView(EventPermissionRequiredMixin, TemplateView):
|
|||||||
for o in Order.objects.filter(event=self.request.event,
|
for o in Order.objects.filter(event=self.request.event,
|
||||||
status=Order.STATUS_PAID,
|
status=Order.STATUS_PAID,
|
||||||
payment_date__isnull=False).values('payment_date', 'total'):
|
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']
|
rev_by_day[day] = rev_by_day.get(day, 0) + o['total']
|
||||||
|
|
||||||
data = []
|
data = []
|
||||||
|
|||||||
Reference in New Issue
Block a user