|
@ -476,12 +476,12 @@ def body_resitelu_odjakziva(rocnik, resitele): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Nasledující řešení je sice správné, ale moc pomalé: |
|
|
# Nasledující řešení je sice správné, ale moc pomalé: |
|
|
for res in Reseni.objects.prefetch_related('resitele', 'hodnoceni').all(): |
|
|
for res in Reseni.objects.prefetch_related('resitele', 'hodnoceni_set').all(): |
|
|
for r in res.resitele.all(): |
|
|
for r in res.resitele.all(): |
|
|
# daný řešitel nemusí být v naší podmnožině |
|
|
# daný řešitel nemusí být v naší podmnožině |
|
|
if r not in resitele: continue |
|
|
if r not in resitele: continue |
|
|
|
|
|
|
|
|
for hodn in res.hodnoceni.all(): |
|
|
for hodn in res.hodnoceni_set.all(): |
|
|
pricti_body(body_odjakziva, r, hodn.body) |
|
|
pricti_body(body_odjakziva, r, hodn.body) |
|
|
return body_odjakziva |
|
|
return body_odjakziva |
|
|
|
|
|
|
|
@ -493,10 +493,10 @@ def body_resitelu_za_rocnik(rocnik, aktivni_resitele): |
|
|
body_za_rocnik[str(ar.id)] = 0 |
|
|
body_za_rocnik[str(ar.id)] = 0 |
|
|
|
|
|
|
|
|
# spočítáme body řešitelům přes všechna řešení s hodnocením v daném ročníku |
|
|
# spočítáme body řešitelům přes všechna řešení s hodnocením v daném ročníku |
|
|
reseni = Reseni.objects.prefetch_related('resitele', 'hodnoceni').filter(hodnoceni__cislo_body__rocnik=rocnik) |
|
|
reseni = Reseni.objects.prefetch_related('resitele', 'hodnoceni_set').filter(hodnoceni__cislo_body__rocnik=rocnik) |
|
|
for res in reseni: |
|
|
for res in reseni: |
|
|
for resitel in res.resitele.all(): |
|
|
for resitel in res.resitele.all(): |
|
|
for hodn in res.hodnoceni.all(): |
|
|
for hodn in res.hodnoceni_set.all(): |
|
|
pricti_body(body_za_rocnik, resitel, hodn.body) |
|
|
pricti_body(body_za_rocnik, resitel, hodn.body) |
|
|
return body_za_rocnik |
|
|
return body_za_rocnik |
|
|
|
|
|
|
|
@ -651,6 +651,7 @@ class RadekVysledkovky(object): |
|
|
self.body_celkem_odjakziva = body_odjakziva |
|
|
self.body_celkem_odjakziva = body_odjakziva |
|
|
self.poradi = poradi |
|
|
self.poradi = poradi |
|
|
self.body_problemy_sezn = body_problemy_sezn |
|
|
self.body_problemy_sezn = body_problemy_sezn |
|
|
|
|
|
self.titul = resitel.get_titul(body_odjakziva) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# přiřazuje danému řešiteli body do slovníku |
|
|
# přiřazuje danému řešiteli body do slovníku |
|
@ -713,7 +714,7 @@ class CisloView(generic.DetailView): |
|
|
slovnik[str(ar.id)] = "" |
|
|
slovnik[str(ar.id)] = "" |
|
|
|
|
|
|
|
|
# vezmeme všechna řešení s body do daného čísla |
|
|
# vezmeme všechna řešení s body do daného čísla |
|
|
reseni_do_cisla = Reseni.objects.prefetch_related('problem', 'hodnoceni', 'resitele').filter(hodnoceni__cislo_body=cislo) |
|
|
reseni_do_cisla = Reseni.objects.prefetch_related('problem', 'resitele', 'hodnoceni_set').filter(hodnoceni__cislo_body=cislo) |
|
|
|
|
|
|
|
|
# projdeme všechna řešení do čísla a přičteme body každému řešiteli do celkových |
|
|
# projdeme všechna řešení do čísla a přičteme body každému řešiteli do celkových |
|
|
# bodů i do bodů za problém |
|
|
# bodů i do bodů za problém |
|
@ -725,7 +726,7 @@ class CisloView(generic.DetailView): |
|
|
nadproblem_slovnik = hlavni_problemy_slovnik[str(nadproblem.id)] |
|
|
nadproblem_slovnik = hlavni_problemy_slovnik[str(nadproblem.id)] |
|
|
|
|
|
|
|
|
# a více hodnocení |
|
|
# a více hodnocení |
|
|
for hodn in list(reseni.hodnoceni.all()): |
|
|
for hodn in list(reseni.hodnoceni_set.all()): |
|
|
body = hodn.body |
|
|
body = hodn.body |
|
|
|
|
|
|
|
|
# a více řešitelů |
|
|
# a více řešitelů |
|
@ -780,8 +781,6 @@ class CisloView(generic.DetailView): |
|
|
context['problemy'] = hlavni_problemy |
|
|
context['problemy'] = hlavni_problemy |
|
|
# context['v_cisle_zadane'] = TODO |
|
|
# context['v_cisle_zadane'] = TODO |
|
|
# context['resene_problemy'] = resene_problemy |
|
|
# context['resene_problemy'] = resene_problemy |
|
|
#XXX nefungují body odjakživa - asi typový problém |
|
|
|
|
|
#XXX nefungují tituly - možná korelace s výše uvedeným problémem |
|
|
|
|
|
print("Předávám kontext.") |
|
|
print("Předávám kontext.") |
|
|
return context |
|
|
return context |
|
|
|
|
|
|
|
|