diff --git a/seminar/templates/seminar/archiv/rocnik.html b/seminar/templates/seminar/archiv/rocnik.html index 825ce37e..cbe162d2 100644 --- a/seminar/templates/seminar/archiv/rocnik.html +++ b/seminar/templates/seminar/archiv/rocnik.html @@ -120,6 +120,7 @@ {% if user.je_org %}

Výsledkovka ročníku (LaTeX, včetně neveřejných)

+ Tituly (TeX, do konce ročníku = pro poslední číslo) {# FIXME: Sice to sem asi nepatří sémanticky, ale bylo to nejjednodušší… #}

CSV export řešitelů

Výsledková listina včetně neveřejných bodů

diff --git a/seminar/urls.py b/seminar/urls.py index d825b9b8..ecbb86e6 100644 --- a/seminar/urls.py +++ b/seminar/urls.py @@ -72,6 +72,11 @@ urlpatterns = [ org_required(views.resiteleRocnikuCsvExportView), name='seminar_rocnik_resitele_csv' ), + path( + 'rocnik//tituly.tex', + org_required(views.TitulyViewRocnik), + name='seminar_rocnik_titul' + ), path( 'cislo/./vysledkovka.tex', org_required(views.CisloVysledkovkaView.as_view()), diff --git a/seminar/views/views_all.py b/seminar/views/views_all.py index b5ab6b06..149d0cb3 100644 --- a/seminar/views/views_all.py +++ b/seminar/views/views_all.py @@ -11,7 +11,9 @@ from django.core.exceptions import PermissionDenied import seminar.models as s import seminar.models as m -from seminar.models import Problem, Cislo, Reseni, Nastaveni, Rocnik, Organizator, Resitel, Novinky, Tema, Clanek # Tohle je stare a chceme se toho zbavit. Pouzivejte s.ToCoChci +from seminar.models import Problem, Cislo, Reseni, Nastaveni, Rocnik, \ + Organizator, Resitel, Novinky, Tema, Clanek, \ + Deadline # Tohle je stare a chceme se toho zbavit. Pouzivejte s.ToCoChci #from .models import VysledkyZaCislo, VysledkyKCisluZaRocnik, VysledkyKCisluOdjakziva from seminar import utils from treenode import treelib @@ -541,17 +543,23 @@ def oldObalkovaniView(request, rocnik, cislo): ### Tituly +def TitulyViewRocnik(request, rocnik): + return TitulyView(request, rocnik, None) + def TitulyView(request, rocnik, cislo): """ View pro stažení makra titulů v TeXu.""" rocnik_obj = Rocnik.objects.get(rocnik = rocnik) resitele = Resitel.objects.filter(rok_maturity__gte = rocnik_obj.prvni_rok) - cislo_obj = Cislo.objects.get(rocnik = rocnik_obj, poradi = cislo) asciijmena = [] jmenovci = False # detekuje, zda jsou dva řešitelé jmenovci (modulo nabodeníčka), # pokud ano, vrátí se jako true - slovnik_s_body = body_resitelu(resitele, cislo_obj) + if cislo is not None: + cislo_obj = Cislo.objects.get(rocnik=rocnik_obj, poradi=cislo) + slovnik_s_body = body_resitelu(do=cislo_obj.zlomovy_deadline_pro_papirove_cislo()) + else: + slovnik_s_body = body_resitelu(do=Deadline.objects.filter(cislo__rocnik=rocnik_obj).last()) for resitel in resitele: resitel.titul = resitel.get_titul(slovnik_s_body[resitel.id])