PDF: add attendee_name_parts fallback for addons (#3206)

This commit is contained in:
Richard Schreiber
2023-04-03 13:39:28 +02:00
committed by GitHub
parent d0b449ea89
commit 5c8d1fde32

View File

@@ -588,10 +588,11 @@ def variables_from_questions(sender, *args, **kwargs):
def _get_attendee_name_part(key, op, order, ev): 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): 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) return ' '.join(p for p in parts if p)
value = op.attendee_name_parts.get(key, '') value = name_parts.get(key, '')
if key == 'salutation': if key == 'salutation':
return pgettext('person_name_salutation', value) return pgettext('person_name_salutation', value)
return value return value
@@ -622,7 +623,7 @@ def get_variables(event):
v['attendee_name_for_salutation'] = { v['attendee_name_for_salutation'] = {
'label': _("Attendee name for salutation"), 'label': _("Attendee name for salutation"),
'editor_sample': _("Mr Doe"), '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']: for key, label, weight in scheme['fields']: