force non-empty answers
authorJan Szejko <janek37@gmail.com>
Mon, 19 Nov 2018 13:01:47 +0000 (14:01 +0100)
committerJan Szejko <janek37@gmail.com>
Mon, 19 Nov 2018 13:01:47 +0000 (14:01 +0100)
wtem/forms.py
wtem/views.py

index a434854..08a1e19 100644 (file)
@@ -61,6 +61,8 @@ class WTEMSingleForm(forms.ModelForm):
         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()
index be78eb5..1d1074c 100644 (file)
@@ -132,9 +132,11 @@ def form_single(request, submission_id, key):
             except ValueError as e:
                 if e.message == 'wrong exercise id':
                     messages.error(request, u'Próba wysłania odpowiedzi ponownie lub poza kolejnością')
+                elif e.message == 'no answer':
+                    messages.error(request, u'Wybierz przynajmniej jedną odpowiedź')
             return HttpResponseRedirect(reverse('wtem_form', kwargs={'submission_id': submission_id, 'key': key}))
         else:
-            raise Exception
+            raise Exception(u'Błędna wartość w formularzu')
 
 
 @cache_until_start