|
@ -43,14 +43,15 @@ import time |
|
|
|
|
|
|
|
|
from seminar.utils import aktivniResitele, resi_v_rocniku |
|
|
from seminar.utils import aktivniResitele, resi_v_rocniku |
|
|
|
|
|
|
|
|
|
|
|
# ze starého modelu |
|
|
def verejna_temata(rocnik): |
|
|
#def verejna_temata(rocnik): |
|
|
"""Vrací queryset zveřejněných témat v daném ročníku. |
|
|
# """ |
|
|
""" |
|
|
# Vrací queryset zveřejněných témat v daném ročníku. |
|
|
return Problem.objects.filter(typ=Problem.TYP_TEMA, cislo_zadani__rocnik=rocnik, cislo_zadani__verejne_db=True).order_by('kod') |
|
|
# """ |
|
|
|
|
|
# return Problem.objects.filter(typ=Problem.TYP_TEMA, cislo_zadani__rocnik=rocnik, cislo_zadani__verejne_db=True).order_by('kod') |
|
|
def temata_v_rocniku(rocnik): |
|
|
# |
|
|
return Problem.objects.filter(typ=Problem.TYP_TEMA, rocnik=rocnik) |
|
|
#def temata_v_rocniku(rocnik): |
|
|
|
|
|
# return Problem.objects.filter(typ=Problem.TYP_TEMA, rocnik=rocnik) |
|
|
|
|
|
|
|
|
def get_problemy_k_tematu(tema): |
|
|
def get_problemy_k_tematu(tema): |
|
|
return Problem.objects.filter(nadproblem = tema) |
|
|
return Problem.objects.filter(nadproblem = tema) |
|
@ -242,6 +243,12 @@ def spravne_novinky(request): |
|
|
qs = qs.filter(zverejneno=True) |
|
|
qs = qs.filter(zverejneno=True) |
|
|
return qs.order_by('-datum') |
|
|
return qs.order_by('-datum') |
|
|
|
|
|
|
|
|
|
|
|
def aktualni_temata(rocnik): |
|
|
|
|
|
""" |
|
|
|
|
|
Vrací PolymorphicQuerySet témat v daném ročníku, ke kterým se aktuálně dá něco odevzdat. |
|
|
|
|
|
""" |
|
|
|
|
|
return Tema.objects.filter(rocnik=rocnik, stav='zadany').order_by('kod') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class TitulniStranaView(generic.ListView): |
|
|
class TitulniStranaView(generic.ListView): |
|
|
template_name='seminar/titulnistrana.html' |
|
|
template_name='seminar/titulnistrana.html' |
|
@ -283,7 +290,16 @@ class TitulniStranaView(generic.ListView): |
|
|
context['deadline_soustredeni'] = deadline_soustredeni |
|
|
context['deadline_soustredeni'] = deadline_soustredeni |
|
|
|
|
|
|
|
|
# Aktuální témata |
|
|
# Aktuální témata |
|
|
|
|
|
nazvy_a_odkazy_na_aktualni_temata = [] |
|
|
|
|
|
akt_temata = aktualni_temata(nastaveni.aktualni_rocnik) |
|
|
|
|
|
|
|
|
|
|
|
for tema in akt_temata: |
|
|
|
|
|
# FIXME: netuším, jestli funguje tema.verejne_url(), nemáme testdata na témátka - je to asi url vzhledem k ročníku |
|
|
|
|
|
nazvy_a_odkazy_na_aktualni_temata.append({'nazev':tema.nazev,'url':tema.verejne_url()}) |
|
|
|
|
|
|
|
|
|
|
|
context['aktualni_temata'] = nazvy_a_odkazy_na_aktualni_temata |
|
|
|
|
|
|
|
|
|
|
|
print(context) |
|
|
|
|
|
|
|
|
return context |
|
|
return context |
|
|
|
|
|
|
|
@ -347,7 +363,8 @@ class ArchivView(generic.ListView): |
|
|
### Výsledky |
|
|
### Výsledky |
|
|
|
|
|
|
|
|
def sloupec_s_poradim(setrizene_body): |
|
|
def sloupec_s_poradim(setrizene_body): |
|
|
""" Ze seznamu obsahujícího sestupně setřízené body řešitelů za daný ročník |
|
|
""" |
|
|
|
|
|
Ze seznamu obsahujícího sestupně setřízené body řešitelů za daný ročník |
|
|
vytvoří seznam s pořadími (včetně 3.-5. a pak 2 volná místa atp.), |
|
|
vytvoří seznam s pořadími (včetně 3.-5. a pak 2 volná místa atp.), |
|
|
podle toho, jak jdou za sebou ve výsledkovce. |
|
|
podle toho, jak jdou za sebou ve výsledkovce. |
|
|
Parametr: |
|
|
Parametr: |
|
@ -387,7 +404,8 @@ def sloupec_s_poradim(setrizene_body): |
|
|
return sloupec_s_poradim |
|
|
return sloupec_s_poradim |
|
|
|
|
|
|
|
|
def cisla_rocniku(rocnik, jen_verejne=True): |
|
|
def cisla_rocniku(rocnik, jen_verejne=True): |
|
|
""" Vrátí všechna čísla daného ročníku. |
|
|
""" |
|
|
|
|
|
Vrátí všechna čísla daného ročníku. |
|
|
Parametry: |
|
|
Parametry: |
|
|
rocnik (Rocnik): ročník semináře |
|
|
rocnik (Rocnik): ročník semináře |
|
|
jen_verejne (bool): zda se mají vrátit jen veřejná, nebo všechna čísla |
|
|
jen_verejne (bool): zda se mají vrátit jen veřejná, nebo všechna čísla |
|
|