From 6ddcae2d6903880ddf371a9d8d1c497b00397c61 Mon Sep 17 00:00:00 2001 From: MaM Web user Date: Sun, 5 Sep 2021 13:24:45 +0200 Subject: [PATCH] =?UTF-8?q?Odevzd=C3=A1v=C3=A1tko:=20Pokus=20o=20neignorov?= =?UTF-8?q?=C3=A1n=C3=AD=20nov=C3=BDch=20=C5=99e=C5=A1itel=C5=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Postaru se brali jen "řešitelé z aktuálního ročníku", nicméně ti se uvažují podle toho, že v daném ročníku mají Hodnocení, takže řešitelé bez hodnocení v aktuálním ročníku nebyli v tabulce a nemohli dostat rozumně hodnocení, což vede na problém "otvíráku v konzervě". Po novu beru jen neodmaturovavší řešitele, což je cca dobrá aproximace na letošní řešitele a tímhle problémem by trpět neměli (snad). --- seminar/forms.py | 4 ++-- seminar/views/odevzdavatko.py | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/seminar/forms.py b/seminar/forms.py index 5d1ae871..205fd4be 100644 --- a/seminar/forms.py +++ b/seminar/forms.py @@ -325,10 +325,10 @@ class OdevzdavatkoTabulkaFiltrForm(forms.Form): # Věci definované níž se importují i ve views pro odevzdávátko (Inspirováno https://docs.djangoproject.com/en/3.1/ref/models/fields/#field-choices) RESITELE_RELEVANTNI = 'relevantni' - RESITELE_LETOSNI = 'letosni' + RESITELE_NEODMATUROVAVSI = 'neodmaturovavsi' RESITELE_CHOICES = [ (RESITELE_RELEVANTNI, 'Relevantní řešitelé'), # I.e. nezobrazovat prázdné řádky tabulky - (RESITELE_LETOSNI, 'Všichni letošní'), + (RESITELE_NEODMATUROVAVSI, 'Všichni bez maturity'), # Možná: všechny vč. historických? ] diff --git a/seminar/views/odevzdavatko.py b/seminar/views/odevzdavatko.py index 6e8fec12..3d0056c7 100644 --- a/seminar/views/odevzdavatko.py +++ b/seminar/views/odevzdavatko.py @@ -79,10 +79,11 @@ class TabulkaOdevzdanychReseniView(ListView): self.chteni_resitele = resitele # Zapamatování pro get_context_data if resitele == FiltrForm.RESITELE_RELEVANTNI: - # TODO: Zkontrolovat, že resi_v_rocniku vrací QuerySet (jinak asi bude žrát spoustu zdrojů zbytečně) - self.resitele = resi_v_rocniku(aktualni_rocnik) # Prvotní sada, pokud nebude mít body, odstraní se v get_context_data - elif resitele == FiltrForm.RESITELE_LETOSNI: - self.resitele = resi_v_rocniku(aktualni_rocnik) + # Nejde použít utils.resi_v_rocniku, protože noví řešitelé mohou mít neobodované řešení a takoví technicky zatím neřeší. + # Proto používám neodmaturovavší řešitele, TODO: Chceme to takhle nebo jinak? + self.resitele = self.resitele.filter(rok_maturity__gt=aktualni_rocnik.prvni_rok) # Prvotní sada, pokud nebude mít body, odstraní se v get_context_data + elif resitele == FiltrForm.RESITELE_NEODMATUROVAVSI: + self.resitele = self.resitele.filter(rok_maturity__gt=aktualni_rocnik.prvni_rok) if problemy == FiltrForm.PROBLEMY_MOJE: org = m.Organizator.objects.get(osoba__user=self.request.user)