From 5c8d1fde32eb3fa20a7aec1c155140dc5f55e4b0 Mon Sep 17 00:00:00 2001 From: Richard Schreiber Date: Mon, 3 Apr 2023 13:39:28 +0200 Subject: [PATCH] PDF: add attendee_name_parts fallback for addons (#3206) --- src/pretix/base/pdf.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/pretix/base/pdf.py b/src/pretix/base/pdf.py index 4df6e18203..73a4ec4c6f 100644 --- a/src/pretix/base/pdf.py +++ b/src/pretix/base/pdf.py @@ -588,10 +588,11 @@ def variables_from_questions(sender, *args, **kwargs): def _get_attendee_name_part(key, op, order, ev): + name_parts = op.attendee_name_parts or (op.addon_to.attendee_name_parts if op.addon_to else {}) if isinstance(key, tuple): - parts = [_get_attendee_name_part(c[0], op, order, ev) for c in key if not (c[0] == 'salutation' and op.attendee_name_parts.get(c[0], '') == "Mx")] + parts = [_get_attendee_name_part(c[0], op, order, ev) for c in key if not (c[0] == 'salutation' and name_parts.get(c[0], '') == "Mx")] return ' '.join(p for p in parts if p) - value = op.attendee_name_parts.get(key, '') + value = name_parts.get(key, '') if key == 'salutation': return pgettext('person_name_salutation', value) return value @@ -622,7 +623,7 @@ def get_variables(event): v['attendee_name_for_salutation'] = { 'label': _("Attendee name for salutation"), 'editor_sample': _("Mr Doe"), - 'evaluate': lambda op, order, ev: concatenation_for_salutation(op.attendee_name_parts or {}) + 'evaluate': lambda op, order, ev: concatenation_for_salutation(op.attendee_name_parts or (op.addon_to.attendee_name_parts if op.addon_to else {})) } for key, label, weight in scheme['fields']: