QuestionStep: Correctly apply order of "initial" values

This commit is contained in:
Raphael Michel
2021-07-08 09:28:36 +02:00
parent add764e3f0
commit 7f9368c415

View File

@@ -93,21 +93,21 @@ class BaseQuestionsViewMixin:
for overrides in override_sets: for overrides in override_sets:
for question_name, question_field in form.fields.items(): for question_name, question_field in form.fields.items():
if hasattr(question_field, 'question'): if hasattr(question_field, 'question'):
if question_field.question.identifier in overrides: src = overrides.get(question_field.question.identifier)
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']
else: else:
if question_name in overrides: src = overrides.get(question_name)
if 'initial' in overrides[question_name]: if not src:
question_field.initial = overrides[question_name]['initial'] continue
if 'disabled' in overrides[question_name]:
question_field.disabled = overrides[question_name]['disabled'] if 'disabled' in src:
if 'validators' in overrides[question_name]: question_field.disabled = src['disabled']
question_field.validators += overrides[question_name]['validators'] 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: if len(form.fields) > 0:
formlist.append(form) formlist.append(form)