Merge branch 'tex-upload'
This commit is contained in:
commit
43601257cf
1 changed files with 20 additions and 4 deletions
|
@ -675,7 +675,6 @@ def texUploadView(request):
|
||||||
# Řešení má nastavené číslo svojí úlohy, ale obrázky jsou
|
# Řešení má nastavené číslo svojí úlohy, ale obrázky jsou
|
||||||
# ukládány do čísla, kde řešení vyšlo
|
# ukládány do čísla, kde řešení vyšlo
|
||||||
c = meta["cislo_reseni"]
|
c = meta["cislo_reseni"]
|
||||||
uloz_soubory(request.FILES.items(), meta["rocnik"], c)
|
|
||||||
|
|
||||||
# Zjistíme typ ukládaného problému
|
# Zjistíme typ ukládaného problému
|
||||||
typy = {
|
typy = {
|
||||||
|
@ -685,8 +684,8 @@ def texUploadView(request):
|
||||||
}
|
}
|
||||||
problem_typ = typy[meta["typ"]]
|
problem_typ = typy[meta["typ"]]
|
||||||
|
|
||||||
|
|
||||||
# Pokud už problém existuje, vytáhneme jej z db a upravíme
|
# 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 ->
|
# Pokud ročník/číslo ještě neexistuje, vyhodí to výjimku ->
|
||||||
# číslo/ročník se musí založit ručně v adminu
|
# číslo/ročník se musí založit ručně v adminu
|
||||||
|
@ -703,14 +702,22 @@ def texUploadView(request):
|
||||||
problem = None
|
problem = None
|
||||||
if existujici:
|
if existujici:
|
||||||
problem = existujici[0]
|
problem = existujici[0]
|
||||||
# Jinak vytvoříme nový
|
elif "vytvor" in q:
|
||||||
else:
|
# vytvoříme nový
|
||||||
problem = Problem(
|
problem = Problem(
|
||||||
typ=problem_typ,
|
typ=problem_typ,
|
||||||
stav=Problem.STAV_ZADANY,
|
stav=Problem.STAV_ZADANY,
|
||||||
kod=meta["kod"],
|
kod=meta["kod"],
|
||||||
cislo_zadani=cislo
|
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":
|
if meta["typ"] == "reseni":
|
||||||
problem.text_reseni = html
|
problem.text_reseni = html
|
||||||
|
@ -750,6 +757,12 @@ def texDownloadView(request, rocnik, cislo):
|
||||||
"""View posílající JSON se zadanými a řešenými problémy pro založení čísla
|
"""View posílající JSON se zadanými a řešenými problémy pro založení čísla
|
||||||
"""
|
"""
|
||||||
cislo = Cislo.objects.get(rocnik__rocnik=rocnik, cislo=cislo)
|
cislo = Cislo.objects.get(rocnik__rocnik=rocnik, cislo=cislo)
|
||||||
|
if cislo.faze == cislo.FAZE_NAHRANO:
|
||||||
|
# obsah byl nahrán z TeXu na web, už je příliš složitý
|
||||||
|
return JsonResponse(
|
||||||
|
{"error": "Obsah čísla už byl nahrán z TeXu na web."}
|
||||||
|
)
|
||||||
|
|
||||||
zadane = Problem.objects.filter(
|
zadane = Problem.objects.filter(
|
||||||
cislo_zadani=cislo,
|
cislo_zadani=cislo,
|
||||||
stav=Problem.STAV_ZADANY
|
stav=Problem.STAV_ZADANY
|
||||||
|
@ -786,6 +799,9 @@ def texDownloadView(request, rocnik, cislo):
|
||||||
} for p in resene
|
} for p in resene
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cislo.faze = Cislo.FAZE_TEX
|
||||||
|
cislo.save()
|
||||||
return JsonResponse(response)
|
return JsonResponse(response)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue