Přidání zapomenutého filtrování hodnocení do deadlinu a příprava na TeX

This commit is contained in:
Jonas Havelka 2022-10-02 21:03:07 +02:00
parent 320f7dac63
commit 0069382f51

View file

@ -245,6 +245,18 @@ class VysledkovkaCisla(Vysledkovka):
def hlavni_problemy(self) -> list[m.Problem]:
return hlavni_problemy_f(self.problemy)
# Není cached, protože si myslím, že queryset lze použít ve for jen jednou.
@property
def hodnoceni_do_cisla(self):
hodnoceni = m.Hodnoceni.objects.prefetch_related(
'problem', 'reseni', 'reseni__resitele')
if self.jen_verejne:
hodnoceni = hodnoceni.filter(deadline_body__verejna_vysledkovka=True)
return hodnoceni.filter(
deadline_body__cislo=self.cislo,
deadline_body__deadline__lte=self.do_deadlinu.deadline
)
@cached_property
def problemy_s_body_za_cislo(self):
@ -265,8 +277,7 @@ class VysledkovkaCisla(Vysledkovka):
hlavni_problemy_slovnik[-1][ar.id] = ""
hodnoceni_do_cisla = m.Hodnoceni.objects.prefetch_related(
'problem', 'reseni', 'reseni__resitele').filter(deadline_body__cislo=self.cislo)
hodnoceni_do_cisla = self.hodnoceni_do_cisla
for hodnoceni in hodnoceni_do_cisla:
prob = hodnoceni.problem
@ -343,11 +354,7 @@ class VysledkovkaCisla(Vysledkovka):
temata = set(t.id for t in self.temata_a_spol)
hodnoceni = m.Hodnoceni.objects.prefetch_related(
'problem', 'reseni', 'reseni__resitele')
if self.jen_verejne:
hodnoceni = hodnoceni.filter(deadline_body__verejna_vysledkovka=True)
hodnoceni_do_cisla = hodnoceni.filter(deadline_body__cislo=self.cislo)
hodnoceni_do_cisla = self.hodnoceni_do_cisla
for hodnoceni in hodnoceni_do_cisla:
prob = hodnoceni.problem