From 71de71ed37885dc26ddff1774590abda409af44e Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Mon, 14 Jan 2019 11:37:44 +0100 Subject: [PATCH] PDF: Fix bug with rendering name parts --- src/pretix/base/pdf.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/pretix/base/pdf.py b/src/pretix/base/pdf.py index 84995d1f15..4a48f73404 100644 --- a/src/pretix/base/pdf.py +++ b/src/pretix/base/pdf.py @@ -244,6 +244,14 @@ def variables_from_questions(sender, *args, **kwargs): return d +def _get_attendee_name_part(key, op, order, ev): + return op.attendee_name_parts.get(key, '') + + +def _get_ia_name_part(key, op, order, ev): + return order.invoice_address.name_parts.get(key, '') if getattr(order, 'invoice_address', None) else '' + + def get_variables(event): v = copy.copy(DEFAULT_VARIABLES) @@ -252,7 +260,7 @@ def get_variables(event): v['attendee_name_%s' % key] = { 'label': _("Attendee name: {part}").format(part=label), 'editor_sample': scheme['sample'][key], - 'evaluate': lambda op, order, ev: op.attendee_name_parts.get(key, '') + 'evaluate': partial(_get_attendee_name_part, key) } v['invoice_name']['editor_sample'] = scheme['concatenation'](scheme['sample']) @@ -262,7 +270,7 @@ def get_variables(event): v['invoice_name_%s' % key] = { 'label': _("Invoice address name: {part}").format(part=label), 'editor_sample': scheme['sample'][key], - "evaluate": lambda op, order, ev: order.invoice_address.name_parts.get(key, '') if getattr(order, 'invoice_address', None) else '' + "evaluate": partial(_get_ia_name_part, key) } for recv, res in layout_text_variables.send(sender=event):