diff --git a/seminar/views/views_all.py b/seminar/views/views_all.py index cd798631..b7b861ae 100644 --- a/seminar/views/views_all.py +++ b/seminar/views/views_all.py @@ -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)