Fix KeyError in question_is_visible if question dependency is unknown

This commit is contained in:
Raphael Michel
2019-10-17 12:57:17 +02:00
parent 404d88a220
commit 8a8f8ae10a
3 changed files with 6 additions and 0 deletions

View File

@@ -348,6 +348,8 @@ class BaseQuestionsForm(forms.Form):
question_cache = {f.question.pk: f.question for f in self.fields.values() if getattr(f, 'question', None)}
def question_is_visible(parentid, qvals):
if parentid not in question_cache:
return False
parentq = question_cache[parentid]
if parentq.dependency_question_id and not question_is_visible(parentq.dependency_question_id, parentq.dependency_values):
return False

View File

@@ -1043,6 +1043,8 @@ class AbstractPosition(models.Model):
}
def question_is_visible(parentid, qvals):
if parentid not in question_cache:
return False
parentq = question_cache[parentid]
if parentq.dependency_question_id and not question_is_visible(parentq.dependency_question_id, parentq.dependency_values):
return False