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