|
@ -477,6 +477,7 @@ class VysledkyResitele(object): |
|
|
body = [] |
|
|
body = [] |
|
|
self.rocnik = rocnik |
|
|
self.rocnik = rocnik |
|
|
body_rocnik = body_resitele_v_rocniku(resitel, rocnik, cislo) |
|
|
body_rocnik = body_resitele_v_rocniku(resitel, rocnik, cislo) |
|
|
|
|
|
poradi = 0 |
|
|
|
|
|
|
|
|
class CisloView(generic.DetailView): |
|
|
class CisloView(generic.DetailView): |
|
|
model = Cislo |
|
|
model = Cislo |
|
@ -515,15 +516,30 @@ class CisloView(generic.DetailView): |
|
|
# získáme výsledky řešitele - součty přes číslo a ročník |
|
|
# získáme výsledky řešitele - součty přes číslo a ročník |
|
|
vr = VysledkyResitele(ar, cislo, cislo.rocnik) |
|
|
vr = VysledkyResitele(ar, cislo, cislo.rocnik) |
|
|
for hp in hlavni_problemy: |
|
|
for hp in hlavni_problemy: |
|
|
ar.body.append(body_resitele_problemu_v_cisle(hp, resitel, cislo)) |
|
|
vr.body.append(body_resitele_problemu_v_cisle(hp, resitel, cislo)) |
|
|
radky_vysledkovky.append(vr) |
|
|
radky_vysledkovky.append(vr) |
|
|
|
|
|
|
|
|
## TODO: |
|
|
## TODO: |
|
|
## vytvořit každému řešiteli objekt nesoucí jeho data |
|
|
# setřídíme řádky výsledkovky/objekty VysledkyResitele podle bodů |
|
|
## setřídit tyto objekty podle bodů |
|
|
radky_vysledkovky.sort(key=lambda vr: vr.body_rocnik, reverse=True) |
|
|
## vygenerovat sloupec s pořadím pomocí stejně zvané funkce |
|
|
|
|
|
## předat to do kontextu |
|
|
# generujeme sloupec s pořadím pomocí stejně zvané funkce |
|
|
# XXX |
|
|
pocty_bodu = [rv.body_rocnik for rv in radky_vysledkovky] |
|
|
|
|
|
sloupec_poradi = sloupec_s_poradim(pocty_bodu) |
|
|
|
|
|
|
|
|
|
|
|
# každému řádku výsledkovky přidáme jeho pořadí |
|
|
|
|
|
i = 0 |
|
|
|
|
|
for rv in radky_vysledkovky: |
|
|
|
|
|
rv.poradi = sloupec_poradi[i] |
|
|
|
|
|
i = i + 1 |
|
|
|
|
|
|
|
|
|
|
|
# vytahané informace předáváme do kontextu |
|
|
|
|
|
context['radky_vysledkovky'] = radky_vysledkovky |
|
|
|
|
|
context['problemy'] = hlavni_problemy |
|
|
|
|
|
# context['v_cisle_zadane'] = TODO |
|
|
|
|
|
# context['resene_problemy'] = resene_problemy |
|
|
|
|
|
|
|
|
|
|
|
return context |
|
|
|
|
|
|
|
|
# problemy = sorted(set(r.problem for r in reseni), key=lambda x:(poradi_typu[x.typ], x.kod_v_rocniku())) |
|
|
# problemy = sorted(set(r.problem for r in reseni), key=lambda x:(poradi_typu[x.typ], x.kod_v_rocniku())) |
|
|
# #setridi problemy podle typu a poradi zadani |
|
|
# #setridi problemy podle typu a poradi zadani |
|
@ -562,7 +578,6 @@ class CisloView(generic.DetailView): |
|
|
# context['problemy'] = problemy |
|
|
# context['problemy'] = problemy |
|
|
# context['v_cisle_zadane'] = v_cisle_zadane |
|
|
# context['v_cisle_zadane'] = v_cisle_zadane |
|
|
# context['resene_problemy'] = resene_problemy |
|
|
# context['resene_problemy'] = resene_problemy |
|
|
return context |
|
|
|
|
|
|
|
|
|
|
|
class ArchivTemataView(generic.ListView): |
|
|
class ArchivTemataView(generic.ListView): |
|
|
model = Problem |
|
|
model = Problem |
|
|