diff --git a/src/pretix/base/models/orders.py b/src/pretix/base/models/orders.py index 67ecf1794d..c5a35399b4 100644 --- a/src/pretix/base/models/orders.py +++ b/src/pretix/base/models/orders.py @@ -1628,14 +1628,17 @@ class AbstractPosition(RoundingCorrectionMixin, models.Model): self.questions = [] for qc in children: - if qc.user_datafield_id and qc.user_datafield_id in self.answer_cache: - qc.answer = self.answer_cache[qc.user_datafield_id] + if qc.user_datafield_id: + if qc.user_datafield_id in self.answer_cache: + qc.answer = self.answer_cache[qc.user_datafield_id] + else: + qc.answer = "" #qc.answer.question = qc # cache object elif qc.system_datafield: qc.answer = self.get_system_answer(qc.system_datafield) #qc.answer.question = qc # cache object else: - qc.answer = "" + continue if not qc.dependency_question_id or qc_is_visible(qc.dependency_question_id, qc.dependency_values): self.questions.append(qc) diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_question_answer.html b/src/pretix/presale/templates/pretixpresale/event/fragment_question_answer.html index bb4e0dfd36..ee68f98d0e 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_question_answer.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_question_answer.html @@ -1,7 +1,8 @@ {% load safelink %} {% load i18n %} {% load rich_text %} -{% if answer %} +{% if not answer and not question %} +{% elif answer %} {% if answer.file %}