Browse Source

odevzdavatko: zobrazení chyby při nevalidním formsetu

pull/3/head
Karel Balej 2 years ago
parent
commit
e856859ffb
  1. 14
      odevzdavatko/views.py

14
odevzdavatko/views.py

@ -246,8 +246,9 @@ def hodnoceniReseniView(request, pk, *args, **kwargs):
formset = f.OhodnoceniReseniFormSet(request.POST) formset = f.OhodnoceniReseniFormSet(request.POST)
poznamka_form = f.PoznamkaReseniForm(request.POST, instance=reseni) poznamka_form = f.PoznamkaReseniForm(request.POST, instance=reseni)
# TODO: Napsat validaci formuláře a formsetu # TODO: Napsat validaci formuláře a formsetu
# TODO: Implementovat větev, kdy formulář validní není. if not (formset.is_valid() and poznamka_form.is_valid()):
if formset.is_valid() and poznamka_form.is_valid(): raise ValueError(formset.errors, poznamka_form.errors)
with transaction.atomic(): with transaction.atomic():
# Poznámka je jednoduchá na zpracování: # Poznámka je jednoduchá na zpracování:
poznamka_form.save() poznamka_form.save()
@ -259,16 +260,9 @@ def hodnoceniReseniView(request, pk, *args, **kwargs):
# Vyrobíme nová podle formsetu # Vyrobíme nová podle formsetu
for form in formset: for form in formset:
problem = form.cleaned_data['problem']
body = form.cleaned_data['body']
deadline_body = form.cleaned_data['deadline_body']
feedback = form.cleaned_data['feedback']
hodnoceni = m.Hodnoceni( hodnoceni = m.Hodnoceni(
problem=problem,
body=body,
deadline_body=deadline_body,
feedback=feedback,
reseni=reseni, reseni=reseni,
**form.cleaned_data,
) )
logger.info(f"Creating Hodnoceni: {hodnoceni}") logger.info(f"Creating Hodnoceni: {hodnoceni}")
hodnoceni.save() hodnoceni.save()

Loading…
Cancel
Save