Fix: converting old to new question placeholders in ticketlayouts

This commit is contained in:
Richard Schreiber
2022-05-06 12:23:29 +02:00
committed by GitHub
parent ff5c649cfc
commit 9f515a4b4e

View File

@@ -102,9 +102,15 @@ def pdf_event_copy_data_receiver(sender, other, item_map, question_map, **kwargs
for o in layout:
if o['type'] == 'textarea':
if o['content'].startswith('question_'):
newq = question_map.get(int(o['content'][9:]))
if newq:
o['content'] = 'question_{}'.format(newq.pk)
try:
newq = question_map.get(int(o['content'][9:]))
except ValueError:
# int cannot convert new placeholders question_{identifier}
# can be safely ignored as only old format questions_{pk} should be converted
pass
else:
if newq:
o['content'] = 'question_{}'.format(newq.pk)
bl.layout = json.dumps(layout)
bl.save()