diff --git a/seminar/views.py b/seminar/views.py index f2906d90..35e2bb6b 100644 --- a/seminar/views.py +++ b/seminar/views.py @@ -477,6 +477,7 @@ class VysledkyResitele(object): body = [] self.rocnik = rocnik body_rocnik = body_resitele_v_rocniku(resitel, rocnik, cislo) + poradi = 0 class CisloView(generic.DetailView): 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 vr = VysledkyResitele(ar, cislo, cislo.rocnik) 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) ## TODO: - ## vytvořit každému řešiteli objekt nesoucí jeho data - ## setřídit tyto objekty podle bodů - ## vygenerovat sloupec s pořadím pomocí stejně zvané funkce - ## předat to do kontextu - # XXX + # setřídíme řádky výsledkovky/objekty VysledkyResitele podle bodů + radky_vysledkovky.sort(key=lambda vr: vr.body_rocnik, reverse=True) + + # generujeme sloupec s pořadím pomocí stejně zvané funkce + 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())) # #setridi problemy podle typu a poradi zadani @@ -562,7 +578,6 @@ class CisloView(generic.DetailView): # context['problemy'] = problemy # context['v_cisle_zadane'] = v_cisle_zadane # context['resene_problemy'] = resene_problemy - return context class ArchivTemataView(generic.ListView): model = Problem