Compare commits

...

3 Commits

Author SHA1 Message Date
Richard Schreiber
f88912adfe PDF: fix offset in mediabox of background-pdf 2023-07-04 12:03:00 +02:00
Martin Gross
8f7220b574 isort plugins/badges/exporters.py 2023-06-30 16:22:19 +02:00
Martin Gross
5adbdb80a8 Badge-Export: Explicitly convert dt/df to deal with celery (Fixes PRETIXEU-8NW) 2023-06-30 15:50:32 +02:00
2 changed files with 13 additions and 6 deletions

View File

@@ -992,7 +992,10 @@ class Renderer:
elif o['type'] == "poweredby":
self._draw_poweredby(canvas, op, o)
if self.bg_pdf:
page_size = (self.bg_pdf.pages[0].mediabox[2], self.bg_pdf.pages[0].mediabox[3])
page_size = (
self.bg_pdf.pages[0].mediabox[2] - self.bg_pdf.pages[0].mediabox[0],
self.bg_pdf.pages[0].mediabox[3] - self.bg_pdf.pages[0].mediabox[1]
)
if self.bg_pdf.pages[0].get('/Rotate') in (90, 270):
# swap dimensions due to pdf being rotated
page_size = page_size[::-1]

View File

@@ -35,7 +35,7 @@
import json
import logging
from collections import OrderedDict
from datetime import datetime, time, timedelta
from datetime import date, datetime, time, timedelta
from decimal import Decimal
from io import BytesIO
from typing import Tuple
@@ -351,15 +351,19 @@ class BadgeExporter(BaseExporter):
qs = qs.filter(Q(order__status=Order.STATUS_PAID) | Q(order__status=Order.STATUS_PENDING, order__valid_if_pending=True))
if form_data.get('date_from'):
dt = make_aware(datetime.combine(
dateutil.parser.parse(form_data['date_from']).date(),
if not isinstance(form_data.get('date_from'), date):
form_data['date_from'] = dateutil.parser.parse(form_data['date_from']).date()
df = make_aware(datetime.combine(
form_data['date_from'],
time(hour=0, minute=0, second=0)
), self.event.timezone)
qs = qs.filter(Q(subevent__date_from__gte=dt) | Q(subevent__isnull=True, order__event__date_from__gte=dt))
qs = qs.filter(Q(subevent__date_from__gte=df) | Q(subevent__isnull=True, order__event__date_from__gte=df))
if form_data.get('date_to'):
if not isinstance(form_data.get('date_to'), date):
form_data['date_to'] = dateutil.parser.parse(form_data['date_to']).date()
dt = make_aware(datetime.combine(
dateutil.parser.parse(form_data['date_to']).date() + timedelta(days=1),
form_data['date_to'] + timedelta(days=1),
time(hour=0, minute=0, second=0)
), self.event.timezone)
qs = qs.filter(Q(subevent__date_from__lt=dt) | Q(subevent__isnull=True, order__event__date_from__lt=dt))