|
|
@ -496,6 +496,12 @@ class RadekVysledkovkyRocniku(object): |
|
|
|
self.body_cisla_sezn = body_cisla_sezn |
|
|
|
self.titul = resitel.get_titul(body_odjakziva) |
|
|
|
|
|
|
|
def setrid_resitele_a_body(slov_resitel_body): |
|
|
|
setrizeni_resitele_id = [dvojice[0] for dvojice in slov_resitel_body] |
|
|
|
setrizeni_resitele = [Resitel.objects.get(id=i) for i in setrizeni_resitele_id] |
|
|
|
setrizene_body = [dvojice[1] for dvojice in slov_resitel_body] |
|
|
|
return setrizeni_resitele_id, setrizeni_resitele, setrizene_body |
|
|
|
|
|
|
|
def vysledkovka_rocniku(rocnik, jen_verejne=True): |
|
|
|
""" Přebírá ročník (např. context["rocnik"]) a vrací výsledkovou listinu ve |
|
|
|
formě vhodné pro šablonu "seminar/vysledkovka_rocniku.html" |
|
|
@ -516,9 +522,7 @@ def vysledkovka_rocniku(rocnik, jen_verejne=True): |
|
|
|
resitel_rocnikbody_sezn = secti_body_za_rocnik(rocnik, aktivni_resitele) |
|
|
|
|
|
|
|
# setřídíme řešitele podle počtu bodů a získáme seznam s body od nejvyšších po nenižší |
|
|
|
setrizeni_resitele_id = [dvojice[0] for dvojice in resitel_rocnikbody_sezn] |
|
|
|
setrizeni_resitele = [Resitel.objects.get(id=i) for i in setrizeni_resitele_id] |
|
|
|
setrizene_body = [dvojice[1] for dvojice in resitel_rocnikbody_sezn] |
|
|
|
setrizeni_resitele_id, setrizeni_resitele, setrizene_body = setrid_resitele_a_body(resitel_rocnikbody_sezn) |
|
|
|
poradi = sloupec_s_poradim(setrizene_body) |
|
|
|
|
|
|
|
# získáme body odjakživa |
|
|
@ -835,12 +839,13 @@ def resi_v_rocniku(rocnik, cislo=None): |
|
|
|
return letosni_resitele.distinct() |
|
|
|
|
|
|
|
|
|
|
|
def aktivniResitele(rocnik, cislo): |
|
|
|
def aktivniResitele(rocnik, cislo, pouze_realni=False): |
|
|
|
""" Vrací QuerySet aktivních řešitelů, což jsou ti, co ještě neodmaturovali |
|
|
|
a letos něco poslali (anebo loni něco poslali, pokud jde o první tři čísla). |
|
|
|
Parametry: |
|
|
|
rocnik (typu int) číslo ročníku, o který se jedná |
|
|
|
cislo (typu int) pořadí čísla, o které se jedná |
|
|
|
pouze_realni jen řešitelé, kteří tento rok něco poslali |
|
|
|
|
|
|
|
""" |
|
|
|
letos = Rocnik.objects.get(rocnik = rocnik) |
|
|
@ -856,6 +861,10 @@ def aktivniResitele(rocnik, cislo): |
|
|
|
except ValueError: |
|
|
|
# pravděpodobně se jedná o číslo 7-8 |
|
|
|
zacatek_rocniku = False |
|
|
|
|
|
|
|
# nehledě na číslo chceme jen řešitele, kteří letos něco odevzdali |
|
|
|
if pouze_realni: |
|
|
|
zacatek_rocniku = False |
|
|
|
|
|
|
|
if not zacatek_rocniku: |
|
|
|
return resi_v_rocniku(letos) |
|
|
|