diff --git a/src/pretix/base/models/items.py b/src/pretix/base/models/items.py index 29582b4649..1bb6eb9f2a 100644 --- a/src/pretix/base/models/items.py +++ b/src/pretix/base/models/items.py @@ -987,7 +987,7 @@ class Question(LoggedModel): def clean(self): if self.default_value is not None: - self.clean_answer(self.default_value) + self.clean_answer(self.default_value, check_required=False) @staticmethod def _clean_identifier(event, code, instance=None): @@ -1016,8 +1016,8 @@ class Question(LoggedModel): def __lt__(self, other) -> bool: return self.sortkey < other.sortkey - def clean_answer(self, answer): - if self.required: + def clean_answer(self, answer, check_required=True): + if self.required and check_required: if not answer or (self.type == Question.TYPE_BOOLEAN and answer not in ("true", "True", True)): raise ValidationError(_('An answer to this question is required to proceed.')) if not answer: diff --git a/src/pretix/static/pretixcontrol/js/ui/main.js b/src/pretix/static/pretixcontrol/js/ui/main.js index a6d44e9079..cc0c0fdc3d 100644 --- a/src/pretix/static/pretixcontrol/js/ui/main.js +++ b/src/pretix/static/pretixcontrol/js/ui/main.js @@ -24,7 +24,7 @@ function question_page_toggle_view() { $('.form-group:has(#id_default_value)').show(); break; case 'B': - let checked = (value === 'True' ? 'checked' : ''); + let checked = (value === 'True' || value === 'on' ? 'checked' : ''); input.replaceWith(''); $('.form-group:has(#id_default_value)').show(); break;