Browse Source

Hlavní problém -> téma (hlavní problém je maximální nadproblém, kdežto témata jsou to, co je ve výsledkovce)

pull/3/head
Jonas Havelka 2 years ago
parent
commit
0e92526a8a
  1. 2
      seminar/templates/seminar/archiv/cislo_vysledkovka.tex
  2. 2
      vysledkovky/templates/vysledkovky/vysledkovka_cisla.html
  3. 14
      vysledkovky/utils.py

2
seminar/templates/seminar/archiv/cislo_vysledkovka.tex

@ -4,6 +4,6 @@
\endhead
\hline
\endfoot
{% for rv in vysledkovka.radky_vysledkovky %}{{rv.poradi}}&{% if rv.titul %}\titul{ {{ rv.titul}}}{% endif %}{{rv.resitel.osoba.jmeno|slice:":1"}}. {{rv.resitel.osoba.prijmeni}}&{{rv.rocnik_resitele|default:""}}&{{rv.body_celkem_odjakziva}}&{% for b in rv.body_hlavni_problemy_seznam %}{{b}}&{% endfor %}{{rv.body_cislo}}&{{rv.body_rocnik|default:0}}\\
{% for rv in vysledkovka.radky_vysledkovky %}{{rv.poradi}}&{% if rv.titul %}\titul{ {{ rv.titul}}}{% endif %}{{rv.resitel.osoba.jmeno|slice:":1"}}. {{rv.resitel.osoba.prijmeni}}&{{rv.rocnik_resitele|default:""}}&{{rv.body_celkem_odjakziva}}&{% for b in rv.body_za_temata_seznam %}{{b}}&{% endfor %}{{rv.body_cislo}}&{{rv.body_rocnik|default:0}}\\
{% endfor %}
\end{longtable}

2
vysledkovky/templates/vysledkovky/vysledkovka_cisla.html

@ -33,7 +33,7 @@
{{ rv.titul }}<sup>MM</sup>
{% endif %}
{{ rv.resitel.osoba.plne_jmeno }}
{% for b in rv.body_hlavni_problemy_seznam %}
{% for b in rv.body_za_temata_seznam %}
<td class='border-r'>{{ b }}
{% for body_podproblemu in rv.body_podproblemy_iter.next %}

14
vysledkovky/utils.py

@ -3,7 +3,7 @@ from functools import cached_property
import seminar.models as m
from django.db.models import Q, Sum
from seminar.utils import resi_v_rocniku, cisla_rocniku, hlavni_problem,\
from seminar.utils import resi_v_rocniku, cisla_rocniku,\
hlavni_problemy_f, problemy_cisla, podproblemy_v_cislu
ROCNIK_ZRUSENI_TEMAT = 25
@ -313,7 +313,7 @@ class VysledkovkaCisla(Vysledkovka):
return body_za_cislo, body_za_temata, body_za_problemy
@cached_property
def hlavni_problemy_slovnik(self) -> dict[int, dict[int, str]]:
def body_za_temata(self) -> dict[int, dict[int, str]]:
return self.sectene_body[1]
@cached_property
@ -351,14 +351,14 @@ class VysledkovkaCisla(Vysledkovka):
"""Obsahuje věci, které se hodí vědět při konstruování výsledkovky.
Umožňuje snazší práci v templatu (lepší, než seznam)."""
def __init__(self, poradi, resitel, body_hlavni_problemy_seznam, body_cislo, body_rocnik, body_odjakziva, rok, body_podproblemy, body_podproblemy_iter):
def __init__(self, poradi, resitel, temata_seznamk, body_cislo, body_rocnik, body_odjakziva, rok, body_podproblemy, body_podproblemy_iter):
self.resitel = resitel
self.rocnik_resitele = resitel.rocnik(rok)
self.body_cislo = body_cislo
self.body_rocnik = body_rocnik
self.body_celkem_odjakziva = body_odjakziva
self.poradi = poradi
self.body_hlavni_problemy_seznam = body_hlavni_problemy_seznam
self.body_za_temata_seznam = temata_seznamk
self.titul = resitel.get_titul(body_odjakziva)
self.body_podproblemy = body_podproblemy
self.body_podproblemy_iter = body_podproblemy_iter
@ -381,20 +381,20 @@ class VysledkovkaCisla(Vysledkovka):
body_problemy = []
body_podproblemy = []
for hp in self.temata_a_spol:
body_problemy.append(self.hlavni_problemy_slovnik[hp.id][ar_id])
body_problemy.append(self.body_za_temata[hp.id][ar_id])
body_podproblemy.append([
self.problemy_slovnik[hp.id][it.id][ar_id]
for it in self.podproblemy[hp.id]
])
if self.je_nejake_ostatni:
body_problemy.append(self.hlavni_problemy_slovnik[-1][ar_id])
body_problemy.append(self.body_za_temata[-1][ar_id])
body_podproblemy.append(
[self.problemy_slovnik[-1][it.id][ar_id] for it in self.podproblemy[-1]])
# vytáhneme informace pro daného řešitele
radek = self.RadekVysledkovkyCisla(
poradi=self.poradi[i],
resitel=setrizeni_resitele_slovnik[ar_id],
body_hlavni_problemy_seznam=body_problemy,
temata_seznamk=body_problemy,
body_cislo=self.body_za_cislo[ar_id],
body_rocnik=self.setrizene_body[i],
body_odjakziva=self.resitel_body_odjakziva_slovnik[ar_id],

Loading…
Cancel
Save