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 | ||||
|                 # 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 = { | ||||
|  | @ -685,8 +684,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 | ||||
|  | @ -703,14 +702,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 | ||||
|  | @ -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 | ||||
|     """ | ||||
|     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( | ||||
|         cislo_zadani=cislo, | ||||
|         stav=Problem.STAV_ZADANY | ||||
|  | @ -786,6 +799,9 @@ def texDownloadView(request, rocnik, cislo): | |||
|             } for p in resene | ||||
|         ], | ||||
|     } | ||||
| 
 | ||||
|     cislo.faze = Cislo.FAZE_TEX | ||||
|     cislo.save() | ||||
|     return JsonResponse(response) | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Matěj Kocián
						Matěj Kocián