From 4b4568160ff554dc3e62b1b5102246faf6ada9d6 Mon Sep 17 00:00:00 2001 From: "Pavel \"LEdoian\" Turinsky" Date: Mon, 22 Nov 2021 23:13:30 +0100 Subject: [PATCH] =?UTF-8?q?U=C5=BE=20nezobrazujeme=20=C5=99e=C5=A1itel?= =?UTF-8?q?=C5=AFm=20v=C3=ADce=20tabulek=20pro=20stejn=C3=BD=20ro=C4=8Dn?= =?UTF-8?q?=C3=ADk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Řeší #1270 --- odevzdavatko/views.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/odevzdavatko/views.py b/odevzdavatko/views.py index aa95af2f..cc571a91 100644 --- a/odevzdavatko/views.py +++ b/odevzdavatko/views.py @@ -312,12 +312,15 @@ class PrehledOdevzdanychReseni(ListView): resitel = m.Resitel.objects.filter(osoba__user=self.request.user).first() qs = super().get_queryset() qs = qs.filter(reseni__resitele__in=[resitel]) + # Setřídíme podle času doručení řešení, aby se netřídily podle okamžiku vyrobení Hodnocení + qs = qs.order_by('reseni__cas_doruceni') return qs def get_context_data(self, *args, **kwargs): ctx = super().get_context_data(*args, **kwargs) # Ročník určujeme podle čísla, do jehož deadlinu došlo řešení. # Chceme to mít seřazené, takže místo comphrerehsion ručně postavíme pole polí. Django templates neumí použít OrderedDict :-/ + # TODO: Funkce deadline vrací deadliny v jiném ročníku, zvlášť pokud se vyrobí řešení až po deadlinu (třeba při poslání mailem) podle_rocniku = [] for rocnik, hodnoceni in groupby(ctx['object_list'], lambda ho: deadline(ho.reseni.cas_doruceni)[1].rocnik if deadline(ho.reseni.cas_doruceni) is not None else None): podle_rocniku.append((rocnik, list(hodnoceni)))