tex-html: stahování obsahu pro texání
This commit is contained in:
		
							parent
							
								
									ac55e706c2
								
							
						
					
					
						commit
						b9f95bc037
					
				
					 2 changed files with 48 additions and 4 deletions
				
			
		|  | @ -47,9 +47,11 @@ urlpatterns = [ | |||
|         staff_member_required(views.StavDatabazeView), name='stav_databaze'), | ||||
|     url(r'^cislo/(?P<rocnik>\d+).(?P<cislo>[0-9-]+)/obalkovani$', | ||||
|         staff_member_required(views.obalkovaniView), name='seminar_cislo_resitel_obalkovani'), | ||||
|     url(r'^cislo/(?P<rocnik>\d+).(?P<cislo>[0-9-]+)/tex-download.json$', | ||||
|         staff_member_required(views.texDownloadView), name='seminar_tex_download'), | ||||
|     url(r'^soustredeni/(?P<soustredeni>\d+)/obalky.pdf', | ||||
|         staff_member_required(views.soustredeniObalkyView), name='seminar_soustredeni_obalky'), | ||||
| 
 | ||||
|     url(r'^tex-upload/login/$', views.LoginView, name='seminar_login'), | ||||
|     url(r'^tex-upload/$', staff_member_required(views.TexUploadView), name='seminar_tex_upload'), | ||||
|     url(r'^tex-upload/$', staff_member_required(views.texUploadView), name='seminar_tex_upload'), | ||||
| ] | ||||
|  |  | |||
|  | @ -516,7 +516,7 @@ def LoginView(request): | |||
| 
 | ||||
| 
 | ||||
| @ensure_csrf_cookie | ||||
| def TexUploadView(request): | ||||
| def texUploadView(request): | ||||
| 
 | ||||
|     def uloz_soubory(files, rocnik, cislo): | ||||
|         for filename, f in files: | ||||
|  | @ -597,8 +597,7 @@ def TexUploadView(request): | |||
|             else: | ||||
|                 problem.text_zadani = html | ||||
|                 problem.nazev = meta["nazev"] | ||||
|                 if "body" in meta: | ||||
|                     problem.body = meta["body"] | ||||
|                 problem.body = meta["body"] | ||||
| 
 | ||||
|             problem.save() | ||||
| 
 | ||||
|  | @ -624,3 +623,46 @@ def TexUploadView(request): | |||
|         # Pošleme zpátky traceback, ať uživatel ví, v čem je problém | ||||
|         tb = "".join(traceback.format_exception(type(e), e, sys.exc_info()[2])) | ||||
|         return JsonResponse({"error": tb}) | ||||
| 
 | ||||
| 
 | ||||
| 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) | ||||
|     zadane = Problem.objects.filter( | ||||
|         cislo_zadani=cislo, | ||||
|         stav=Problem.STAV_ZADANY | ||||
|     ) | ||||
|     resene = Problem.objects.filter( | ||||
|         cislo_reseni=cislo, | ||||
|         stav=Problem.STAV_ZADANY, | ||||
|         typ=Problem.TYP_ULOHA | ||||
|     ) | ||||
|     pred_pohadky = Pohadka.objects.filter(uloha__cislo_zadani=cislo, pred=True) | ||||
|     po_pohadky = Pohadka.objects.filter(uloha__cislo_zadani=cislo, pred=False) | ||||
| 
 | ||||
|     response = { | ||||
|         "zadane": [ | ||||
|             { | ||||
|                 "nazev": p.nazev, | ||||
|                 "typ": p.typ, | ||||
|                 "kod": p.kod, | ||||
|                 "body": p.body, | ||||
|                 "zadani": p.text_zadani, | ||||
|                 "pred_pohadky": [x.text for x in pred_pohadky.filter(uloha=p)], | ||||
|                 "po_pohadky": [x.text for x in po_pohadky.filter(uloha=p)], | ||||
|             } for p in zadane | ||||
|         ], | ||||
|         "resene": [ | ||||
|             { | ||||
|                 "nazev": p.nazev, | ||||
|                 "typ": p.typ, | ||||
|                 "kod": p.kod, | ||||
|                 "body": p.body, | ||||
|                 "zadani": p.text_zadani, | ||||
|                 "reseni": p.text_reseni, | ||||
|                 "cislo_zadani": p.cislo_zadani.cislo, | ||||
|             } for p in resene | ||||
|         ], | ||||
|     } | ||||
|     return JsonResponse(response) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Matěj Kocián
						Matěj Kocián