From 7f9368c4154748430de2e6e5e3e1d6dac7ddd9a4 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 8 Jul 2021 09:28:36 +0200 Subject: [PATCH] QuestionStep: Correctly apply order of "initial" values --- src/pretix/base/views/mixins.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/pretix/base/views/mixins.py b/src/pretix/base/views/mixins.py index 2be6187fb4..69eae34b78 100644 --- a/src/pretix/base/views/mixins.py +++ b/src/pretix/base/views/mixins.py @@ -93,21 +93,21 @@ class BaseQuestionsViewMixin: for overrides in override_sets: for question_name, question_field in form.fields.items(): if hasattr(question_field, 'question'): - if question_field.question.identifier in overrides: - if 'initial' in overrides[question_field.question.identifier]: - question_field.initial = overrides[question_field.question.identifier]['initial'] - if 'disabled' in overrides[question_field.question.identifier]: - question_field.disabled = overrides[question_field.question.identifier]['disabled'] - if 'validators' in overrides[question_field.question.identifier]: - question_field.validators += overrides[question_field.question.identifier]['validators'] + src = overrides.get(question_field.question.identifier) else: - if question_name in overrides: - if 'initial' in overrides[question_name]: - question_field.initial = overrides[question_name]['initial'] - if 'disabled' in overrides[question_name]: - question_field.disabled = overrides[question_name]['disabled'] - if 'validators' in overrides[question_name]: - question_field.validators += overrides[question_name]['validators'] + src = overrides.get(question_name) + if not src: + continue + + if 'disabled' in src: + question_field.disabled = src['disabled'] + if 'initial' in src: + if question_field.disabled: + question_field.initial = src['initial'] + else: + question_field.initial = getattr(question_field, 'initial', None) or src['initial'] + if 'validators' in src: + question_field.validators += src['validators'] if len(form.fields) > 0: formlist.append(form)