diff --git a/odevzdavatko/templates/odevzdavatko/tabulka.html b/odevzdavatko/templates/odevzdavatko/tabulka.html index 0dad11e1..f318789a 100644 --- a/odevzdavatko/templates/odevzdavatko/tabulka.html +++ b/odevzdavatko/templates/odevzdavatko/tabulka.html @@ -38,10 +38,10 @@ Do data (včetně): {{ filtr.reseni_do }} {% for bunka in hodnoty %} - {% for reseni in bunka %} + {% for reseni,hodnoceni in bunka %} - {{reseni.datum_doruceni | date:"j. n."}}({{ hodn.body }}b) - + {{reseni.cas_doruceni | date:"j. n."}} ({{ hodnoceni.body }}b) +
{% endfor %} {% endfor %} diff --git a/odevzdavatko/views.py b/odevzdavatko/views.py index d5c4f3a1..9fda18a8 100644 --- a/odevzdavatko/views.py +++ b/odevzdavatko/views.py @@ -118,7 +118,7 @@ class TabulkaOdevzdanychReseniView(ListView): ctx = super().get_context_data(*args, **kwargs) ctx['problemy'] = self.problemy ctx['resitele'] = self.resitele - tabulka: dict[m.Problem, dict[m.Resitel, list[m.Reseni]]] = dict() + tabulka: dict[m.Problem, dict[m.Resitel, list[tuple[m.Reseni, m.Hodnoceni]]]] = dict() def pridej_reseni(resitel, hodnoceni): problem = hodnoceni.problem @@ -128,19 +128,19 @@ class TabulkaOdevzdanychReseniView(ListView): if problem not in tabulka: tabulka[problem] = dict() if resitel not in tabulka[problem]: - tabulka[problem][resitel] = [reseni] + tabulka[problem][resitel] = [(reseni, hodnoceni)] else: - tabulka[problem][resitel].append(reseni) + tabulka[problem][resitel].append((reseni, hodnoceni)) for hodnoceni in self.get_queryset(): for resitel in hodnoceni.reseni.resitele.all(): pridej_reseni(resitel, hodnoceni) - hodnoty: list[list[list[m.Reseni]]] = [] # Seznam řádků výsledné tabulky podle self.resitele, v každém řádku buňky v pořadí podle self.problemy, v každé buňce seznam řešení k danému řešiteli a problému. + hodnoty: list[list[list[tuple[m.Reseni, m.Hodnoceni]]]] = [] # Seznam řádků výsledné tabulky podle self.resitele, v každém řádku buňky v pořadí podle self.problemy, v každé buňce seznam řešení k danému řešiteli a problému. resitele_do_tabulky: list[m.Resitel] = [] for resitel in self.resitele: dostal_body = False - resiteluv_radek: list[list[m.Resitel]] = [] # podle pořadí v self.problemy + resiteluv_radek: list[list[tuple[m.Resitel, m.Hodnoceni]]] = [] # podle pořadí v self.problemy for problem in self.problemy: if problem in tabulka and resitel in tabulka[problem]: resiteluv_radek.append(tabulka[problem][resitel])