diff --git a/src/pretix/plugins/ticketoutputpdf/ticketoutput.py b/src/pretix/plugins/ticketoutputpdf/ticketoutput.py index c5c5f39698..025724f3af 100644 --- a/src/pretix/plugins/ticketoutputpdf/ticketoutput.py +++ b/src/pretix/plugins/ticketoutputpdf/ticketoutput.py @@ -25,6 +25,7 @@ from reportlab.pdfbase.ttfonts import TTFont from reportlab.pdfgen.canvas import Canvas from reportlab.platypus import Paragraph +from pretix.base.i18n import language from pretix.base.models import Order, OrderPosition from pretix.base.ticketoutput import BaseTicketOutput from pretix.plugins.ticketoutputpdf.signals import ( @@ -252,12 +253,13 @@ class PdfTicketOutput(BaseTicketOutput): def generate_order(self, order: Order): buffer = BytesIO() p = self._create_canvas(buffer) - for op in order.positions.all(): - if op.addon_to_id and not self.event.settings.ticket_download_addons: - continue - if not op.item.admission and not self.event.settings.ticket_download_nonadm: - continue - self._draw_page(p, op, order) + with language(order.locale): + for op in order.positions.all(): + if op.addon_to_id and not self.event.settings.ticket_download_addons: + continue + if not op.item.admission and not self.event.settings.ticket_download_nonadm: + continue + self._draw_page(p, op, order) p.save() outbuffer = self._render_with_background(buffer) return 'order%s%s.pdf' % (self.event.slug, order.code), 'application/pdf', outbuffer.read() @@ -266,7 +268,8 @@ class PdfTicketOutput(BaseTicketOutput): buffer = BytesIO() p = self._create_canvas(buffer) order = op.order - self._draw_page(p, op, order) + with language(order.locale): + self._draw_page(p, op, order) p.save() outbuffer = self._render_with_background(buffer) return 'order%s%s.pdf' % (self.event.slug, order.code), 'application/pdf', outbuffer.read() diff --git a/src/pretix/plugins/ticketoutputpdf/views.py b/src/pretix/plugins/ticketoutputpdf/views.py index 8b6512267f..202b1a62f2 100644 --- a/src/pretix/plugins/ticketoutputpdf/views.py +++ b/src/pretix/plugins/ticketoutputpdf/views.py @@ -69,6 +69,7 @@ class EditorView(EventPermissionRequiredMixin, TemplateView): from pretix.base.models import Order order = self.request.event.orders.create(status=Order.STATUS_PENDING, datetime=now(), email='sample@pretix.eu', + locale=self.request.event.settings.locale, expires=now(), code="PREVIEW1234", total=119) p = order.positions.create(item=item, attendee_name=_("John Doe"), price=item.default_price)