From ad405c16f48019ce26e7ad7c8b05e846600c58f9 Mon Sep 17 00:00:00 2001 From: Anet Date: Wed, 27 Nov 2019 21:44:07 +0100 Subject: [PATCH] =?UTF-8?q?views=20|=20dops=C3=A1n=C3=AD=20view=20v=C3=BDs?= =?UTF-8?q?ledkovky=20=C4=8D=C3=ADsla=20(zat=C3=ADm=20bez=20testov=C3=A1n?= =?UTF-8?q?=C3=AD)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- seminar/views.py | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) 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