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

3
seminar/test_deadlines.py

@ -144,3 +144,6 @@ class DeadlineTestCase(TestCase):
def test_deadline_pro_datetime(self): def test_deadline_pro_datetime(self):
"""Testuje, že i pro datetime dostáváme správné deadliny""" """Testuje, že i pro datetime dostáváme správné deadliny"""
self.skipTest('Chybí implementace testu') 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í. # 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 :-/ # 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 = [] 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))) podle_rocniku.append((rocnik, list(hodnoceni)))
ctx['podle_rocniku'] = reversed(podle_rocniku) # Od nejnovějšího ročníku ctx['podle_rocniku'] = reversed(podle_rocniku) # Od nejnovějšího ročníku
# TODO: Umožnit stažení / zobrazení řešení # TODO: Umožnit stažení / zobrazení řešení

Loading…
Cancel
Save