From ee282af53e01bff1e079221ab7a785819fbe84d8 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 24 Aug 2017 09:53:31 +0200 Subject: [PATCH] Add invoice address fields to ticket PDF editor --- .../static/pretixplugins/ticketoutputpdf/editor.js | 2 ++ .../templates/pretixplugins/ticketoutputpdf/index.html | 2 ++ src/pretix/plugins/ticketoutputpdf/ticketoutput.py | 10 ++++++++++ src/pretix/plugins/ticketoutputpdf/views.py | 4 +++- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/pretix/plugins/ticketoutputpdf/static/pretixplugins/ticketoutputpdf/editor.js b/src/pretix/plugins/ticketoutputpdf/static/pretixplugins/ticketoutputpdf/editor.js index 218a6069b..5b59b0665 100644 --- a/src/pretix/plugins/ticketoutputpdf/static/pretixplugins/ticketoutputpdf/editor.js +++ b/src/pretix/plugins/ticketoutputpdf/static/pretixplugins/ticketoutputpdf/editor.js @@ -167,6 +167,8 @@ var editor = { "item_description": gettext("Sample product description"), "price": gettext("123.45 EUR"), "attendee_name": gettext("John Doe"), + "invoice_name": gettext("John Doe"), + "invoice_company": gettext("Sample company"), "event_name": gettext("Sample event name"), "event_date": gettext("May 31st, 2017"), "event_date_range": gettext("May 31st – June 4th, 2017"), diff --git a/src/pretix/plugins/ticketoutputpdf/templates/pretixplugins/ticketoutputpdf/index.html b/src/pretix/plugins/ticketoutputpdf/templates/pretixplugins/ticketoutputpdf/index.html index b268fb6c5..5d5ab021e 100644 --- a/src/pretix/plugins/ticketoutputpdf/templates/pretixplugins/ticketoutputpdf/index.html +++ b/src/pretix/plugins/ticketoutputpdf/templates/pretixplugins/ticketoutputpdf/index.html @@ -299,6 +299,8 @@ + + diff --git a/src/pretix/plugins/ticketoutputpdf/ticketoutput.py b/src/pretix/plugins/ticketoutputpdf/ticketoutput.py index 41ab4f2fa..7c35ee89a 100644 --- a/src/pretix/plugins/ticketoutputpdf/ticketoutput.py +++ b/src/pretix/plugins/ticketoutputpdf/ticketoutput.py @@ -109,6 +109,16 @@ class PdfTicketOutput(BaseTicketOutput): if ev.date_admission: tz = timezone(order.event.settings.timezone) return date_format(ev.date_admission.astimezone(tz), "TIME_FORMAT") + elif o['content'] == 'invoice_name': + try: + return order.invoice_address.name + except: + return "" + elif o['content'] == 'invoice_company': + try: + return order.invoice_address.company + except: + return "" elif o['content'] == 'addons': return "
".join([ '{} - {}'.format(p.item, p.variation) if p.variation else str(p.item) diff --git a/src/pretix/plugins/ticketoutputpdf/views.py b/src/pretix/plugins/ticketoutputpdf/views.py index 19fac60fe..ae7d4d87c 100644 --- a/src/pretix/plugins/ticketoutputpdf/views.py +++ b/src/pretix/plugins/ticketoutputpdf/views.py @@ -16,7 +16,7 @@ from django.utils.translation import ugettext as _ from django.views.generic import TemplateView from pretix.base.i18n import language -from pretix.base.models import CachedFile +from pretix.base.models import CachedFile, InvoiceAddress from pretix.control.permissions import EventPermissionRequiredMixin from pretix.control.views import ChartContainingView from pretix.helpers.database import rolledback_transaction @@ -98,6 +98,8 @@ class EditorView(EventPermissionRequiredMixin, ChartContainingView, TemplateView order.positions.create(item=item2, attendee_name=_("John Doe"), price=item.default_price, addon_to=p) order.positions.create(item=item2, attendee_name=_("John Doe"), price=item.default_price, addon_to=p) + InvoiceAddress.objects.create(order=order, name=_("John Doe"), company=_("Sample company")) + prov = PdfTicketOutput(request.event, override_layout=(json.loads(request.POST.get("data")) if request.POST.get("data") else None),