V tabulce potřebujeme znát i Hodnocení, kvůli bodům…
This commit is contained in:
parent
53032a49d8
commit
468443e062
2 changed files with 8 additions and 8 deletions
|
@ -38,10 +38,10 @@ Do data (včetně): {{ filtr.reseni_do }}
|
||||||
</td>
|
</td>
|
||||||
{% for bunka in hodnoty %}
|
{% for bunka in hodnoty %}
|
||||||
<td>
|
<td>
|
||||||
{% for reseni in bunka %}
|
{% for reseni,hodnoceni in bunka %}
|
||||||
<a href="{% url 'odevzdavatko_detail_reseni' pk=reseni.id %}">
|
<a href="{% url 'odevzdavatko_detail_reseni' pk=reseni.id %}">
|
||||||
{{reseni.datum_doruceni | date:"j. n."}}({{ hodn.body }}b)
|
{{reseni.cas_doruceni | date:"j. n."}} ({{ hodnoceni.body }}b)
|
||||||
</a>
|
</a><br>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</td>
|
</td>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
|
@ -118,7 +118,7 @@ class TabulkaOdevzdanychReseniView(ListView):
|
||||||
ctx = super().get_context_data(*args, **kwargs)
|
ctx = super().get_context_data(*args, **kwargs)
|
||||||
ctx['problemy'] = self.problemy
|
ctx['problemy'] = self.problemy
|
||||||
ctx['resitele'] = self.resitele
|
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):
|
def pridej_reseni(resitel, hodnoceni):
|
||||||
problem = hodnoceni.problem
|
problem = hodnoceni.problem
|
||||||
|
@ -128,19 +128,19 @@ class TabulkaOdevzdanychReseniView(ListView):
|
||||||
if problem not in tabulka:
|
if problem not in tabulka:
|
||||||
tabulka[problem] = dict()
|
tabulka[problem] = dict()
|
||||||
if resitel not in tabulka[problem]:
|
if resitel not in tabulka[problem]:
|
||||||
tabulka[problem][resitel] = [reseni]
|
tabulka[problem][resitel] = [(reseni, hodnoceni)]
|
||||||
else:
|
else:
|
||||||
tabulka[problem][resitel].append(reseni)
|
tabulka[problem][resitel].append((reseni, hodnoceni))
|
||||||
|
|
||||||
for hodnoceni in self.get_queryset():
|
for hodnoceni in self.get_queryset():
|
||||||
for resitel in hodnoceni.reseni.resitele.all():
|
for resitel in hodnoceni.reseni.resitele.all():
|
||||||
pridej_reseni(resitel, hodnoceni)
|
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] = []
|
resitele_do_tabulky: list[m.Resitel] = []
|
||||||
for resitel in self.resitele:
|
for resitel in self.resitele:
|
||||||
dostal_body = False
|
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:
|
for problem in self.problemy:
|
||||||
if problem in tabulka and resitel in tabulka[problem]:
|
if problem in tabulka and resitel in tabulka[problem]:
|
||||||
resiteluv_radek.append(tabulka[problem][resitel])
|
resiteluv_radek.append(tabulka[problem][resitel])
|
||||||
|
|
Loading…
Reference in a new issue