Browse Source

Oprava funkcí používajících deadline(), aby chápaly výsledek None

export_seznamu_prednasek
Pavel "LEdoian" Turinsky 4 years ago
parent
commit
944b2262eb
  1. 6
      seminar/templatetags/deadliny.py
  2. 3
      seminar/test_deadlines.py
  3. 2
      seminar/views/odevzdavatko.py

6
seminar/templatetags/deadliny.py

@ -5,6 +5,8 @@ register = template.Library()
@register.filter(name='deadline')
def deadline_text(datum):
if deadline(datum) is None:
return 'Neznámý deadline'
typ, cislo, dl = deadline(datum)
strings = {
TypDeadline.PredDeadline: f"1. deadline čísla {cislo} ({dl})",
@ -15,6 +17,8 @@ def deadline_text(datum):
@register.filter(name='deadline_kratseji')
def deadline_kratsi_text(datum):
if deadline(datum) is None:
return 'Neznámý deadline'
typ, cislo, dl = deadline(datum)
strings = {
TypDeadline.PredDeadline: f"1. deadline {cislo}",
@ -25,6 +29,8 @@ def deadline_kratsi_text(datum):
@register.filter(name='deadline_html')
def deadline_html(datum):
if deadline(datum) is None:
return 'Neznámý deadline'
typ, _, _ = deadline(datum)
text = deadline_kratsi_text(datum)
classes = {

3
seminar/test_deadlines.py

@ -144,3 +144,6 @@ class DeadlineTestCase(TestCase):
def test_deadline_pro_datetime(self):
"""Testuje, že i pro datetime dostáváme správné deadliny"""
self.skipTest('Chybí implementace testu')
def test_moc_pozdni_deadline(self):
self.assertIsNone(deadline(date.max))

2
seminar/views/odevzdavatko.py

@ -257,7 +257,7 @@ class PrehledOdevzdanychReseni(ListView):
# 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 :-/
podle_rocniku = []
for rocnik, hodnoceni in groupby(ctx['object_list'], lambda ho: deadline(ho.reseni.cas_doruceni)[1].rocnik):
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)))
ctx['podle_rocniku'] = reversed(podle_rocniku) # Od nejnovějšího ročníku
# TODO: Umožnit stažení / zobrazení řešení

Loading…
Cancel
Save