X-Git-Url: https://git.mdrn.pl/edumed.git/blobdiff_plain/3f387ec5d75ff85576e87649427cbdc1f14a95b8..8fa5ac7024f21f7e57b8ce0a26152e578e6128b6:/wtem/forms.py diff --git a/wtem/forms.py b/wtem/forms.py index 15c6503..08a1e19 100644 --- a/wtem/forms.py +++ b/wtem/forms.py @@ -49,12 +49,20 @@ class WTEMSingleForm(forms.ModelForm): submission = self.instance answers = submission.get_answers() posted_answers = json.loads(self.cleaned_data['answers']) - assert type(posted_answers) == dict, 'answers not dict' - assert len(posted_answers) == 1, 'answers not single' - exercise_id = posted_answers.keys()[0] + if type(posted_answers) != dict: + raise ValueError('answers not dict') + if len(posted_answers) != 1: + raise ValueError('answers not single') + exercise_id, answer = posted_answers.items()[0] + # multipost + if answers.get(exercise_id) == answer: + return i, exercise = submission.current_exercise() - assert exercise_id == str(exercise['id']), 'wrong exercise id' + if exercise_id != str(exercise['id']): + raise ValueError('wrong exercise id') for answer in posted_answers.values(): + if not answer.get('closed_part', True): + raise ValueError('no answer') answers[exercise_id] = answer submission.answers = json.dumps(answers) submission.save()