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
	
	 Matěj Kocián
						Matěj Kocián