diff --git a/seminar/views.py b/seminar/views.py index 141e9492..aefea9a5 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -670,7 +670,6 @@ def texUploadView(request): # Řešení má nastavené číslo svojí úlohy, ale obrázky jsou # ukládány do čísla, kde řešení vyšlo c = meta["cislo_reseni"] - uloz_soubory(request.FILES.items(), meta["rocnik"], c) # Zjistíme typ ukládaného problému typy = { @@ -680,8 +679,8 @@ def texUploadView(request): } problem_typ = typy[meta["typ"]] - # Pokud už problém existuje, vytáhneme jej z db a upravíme + # Pokud neexistuje, vytvoříme jej jedině pokud je to vynucené # Pokud ročník/číslo ještě neexistuje, vyhodí to výjimku -> # číslo/ročník se musí založit ručně v adminu @@ -698,14 +697,22 @@ def texUploadView(request): problem = None if existujici: problem = existujici[0] - # Jinak vytvoříme nový - else: + elif "vytvor" in q: + # vytvoříme nový problem = Problem( typ=problem_typ, stav=Problem.STAV_ZADANY, kod=meta["kod"], cislo_zadani=cislo ) + else: + return JsonResponse({ + "error": "Problém neexistuje: {} {}.{} kód {}".format( + meta["typ"], meta["rocnik"], meta["cislo"], meta["kod"] + ) + }) + + uloz_soubory(request.FILES.items(), meta["rocnik"], c) if meta["typ"] == "reseni": problem.text_reseni = html