From ffca102a8a160743a616f41dbd57623a83115749 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Fri, 10 Jul 2026 16:42:10 +0200 Subject: [PATCH] Question form: Do not store invalid False values for required boolean questions (Z#23239887) (#6366) --- src/pretix/base/forms/questions.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/pretix/base/forms/questions.py b/src/pretix/base/forms/questions.py index 01084f672..3c5d0e6c6 100644 --- a/src/pretix/base/forms/questions.py +++ b/src/pretix/base/forms/questions.py @@ -1116,6 +1116,13 @@ class BaseQuestionsForm(forms.Form): if q.dependency_question_id and not question_is_visible(q.dependency_question_id, q.dependency_values) and answer is not None: d['question_%d' % q.pk] = None + # Strip False answers to required yes/no questions even if all_optional is set, as our data model assumes that + # required yes/no questions can only be answered with yes + for q in question_cache.values(): + if q.required and q.type == Question.TYPE_BOOLEAN: + if 'question_%d' % q.pk in d and d['question_%d' % q.pk] is False: + del d['question_%d' % q.pk] + return d