Browse Source

Krátké pokračování ve vrtání se ve výsledkovce čísla.

export_seznamu_prednasek
Anet 5 years ago
parent
commit
1737e807d6
  1. 22
      seminar/views.py

22
seminar/views.py

@ -379,13 +379,14 @@ class ProblemView(generic.DetailView):
class VysledkyResitele(object): class VysledkyResitele(object):
#resitel_jmeno = models.CharField('jméno řešitele', max_length=256) "Pro daného řešitele ukládá počet bodů za jednotlivé úlohy a celkový
#resitel_prijmeni = CharField('příjmení', max_length=256) počet bodů za číslo."
def __init__(self, jmeno, prijmeni): def __init__(self, jmeno, prijmeni):
resitel_jmeno = jmeno resitel_jmeno = jmeno
resitel_prijmeni = prijmeni resitel_prijmeni = prijmeni
body = {} body = {}
body_cislo = 0
def body_za_cislo(self): def body_za_cislo(self):
return sum(body.values()) return sum(body.values())
@ -460,14 +461,21 @@ class CisloView(generic.DetailView):
aktivni_resitele = Resitel.objects.filter( aktivni_resitele = Resitel.objects.filter(
rok_maturity__gte=context['rocnik'].druhy_rok()) rok_maturity__gte=context['rocnik'].druhy_rok())
#.filter(hodnoceni_set__rocnik__eq=cislo_rocnik) #.filter(hodnoceni_set__rocnik__eq=cislo_rocnik)
udaje_vysledkovky = {} radky_vysledkovky = []
for ar in aktivni_resitele: for ar in aktivni_resitele:
vr = VysledkyResitele(ar.jmeno, ar.prijmeni) vr = VysledkyResitele(ar.jmeno, ar.prijmeni)
for h in hlavni_problemy: for h in hlavni_problemy:
vr.body[h.id] = vysledky_resitele_problemu(h, ar, cislo) body = vysledky_resitele_problemu(h, ar, cislo)
vr.body[h.kod_v_rocniku] = body
vr.body_cislo = vr.body_cislo + body
radky_vysledkovky.append(vr)
## TODO: spočítat počet bodů řešitele v daném ročníku a seřadit je podle toho
## TODO: možná použít tyto funkce i v RocnikVysledkovkaView (a umístit sem nebo tam)?
vysledky = VysledkyKCisluZaRocnik.objects.filter(cislo = context['cislo']).\ # vysledky = VysledkyKCisluZaRocnik.objects.filter(cislo = context['cislo']).\
order_by('-body', 'resitel__prijmeni', 'resitel__jmeno') # order_by('-body', 'resitel__prijmeni', 'resitel__jmeno')
# reseni = Reseni.objects.filter(cislo_body = context['cislo']).select_related("resitel") # reseni = Reseni.objects.filter(cislo_body = context['cislo']).select_related("resitel")
# typy úloh, které se mají zobrazovat u čísla, tj. těch, které byly # typy úloh, které se mají zobrazovat u čísla, tj. těch, které byly

Loading…
Cancel
Save