Browse Source

Odevzdávátko: Pokus o neignorování nových řešitelů

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).
middleware_test
MaM Web user 3 years ago
parent
commit
6ddcae2d69
  1. 4
      seminar/forms.py
  2. 9
      seminar/views/odevzdavatko.py

4
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) # 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_RELEVANTNI = 'relevantni'
RESITELE_LETOSNI = 'letosni' RESITELE_NEODMATUROVAVSI = 'neodmaturovavsi'
RESITELE_CHOICES = [ RESITELE_CHOICES = [
(RESITELE_RELEVANTNI, 'Relevantní řešitelé'), # I.e. nezobrazovat prázdné řádky tabulky (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? # Možná: všechny vč. historických?
] ]

9
seminar/views/odevzdavatko.py

@ -79,10 +79,11 @@ class TabulkaOdevzdanychReseniView(ListView):
self.chteni_resitele = resitele # Zapamatování pro get_context_data self.chteni_resitele = resitele # Zapamatování pro get_context_data
if resitele == FiltrForm.RESITELE_RELEVANTNI: if resitele == FiltrForm.RESITELE_RELEVANTNI:
# TODO: Zkontrolovat, že resi_v_rocniku vrací QuerySet (jinak asi bude žrát spoustu zdrojů zbytečně) # 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ší.
self.resitele = resi_v_rocniku(aktualni_rocnik) # Prvotní sada, pokud nebude mít body, odstraní se v get_context_data # Proto používám neodmaturovavší řešitele, TODO: Chceme to takhle nebo jinak?
elif resitele == FiltrForm.RESITELE_LETOSNI: 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
self.resitele = resi_v_rocniku(aktualni_rocnik) elif resitele == FiltrForm.RESITELE_NEODMATUROVAVSI:
self.resitele = self.resitele.filter(rok_maturity__gt=aktualni_rocnik.prvni_rok)
if problemy == FiltrForm.PROBLEMY_MOJE: if problemy == FiltrForm.PROBLEMY_MOJE:
org = m.Organizator.objects.get(osoba__user=self.request.user) org = m.Organizator.objects.get(osoba__user=self.request.user)

Loading…
Cancel
Save