68 lines
1.8 KiB
Python
68 lines
1.8 KiB
Python
from django.shortcuts import get_object_or_404, render
|
|
from django.core.exceptions import ObjectDoesNotExist
|
|
from django.views.generic.base import RedirectView
|
|
|
|
from tvorba.models import Tema, Nastaveni, Rocnik
|
|
|
|
from vysledkovky.utils import VysledkovkaRocniku
|
|
|
|
|
|
def AktualniZadaniView(request):
|
|
nastaveni = get_object_or_404(Nastaveni)
|
|
verejne = nastaveni.aktualni_cislo.verejne()
|
|
return render(
|
|
request, 'tvorba/zadani/AktualniZadani.html',
|
|
{
|
|
'nastaveni': nastaveni,
|
|
'verejne': verejne,
|
|
},
|
|
)
|
|
|
|
|
|
def ZadaniTemataView(request):
|
|
nastaveni = get_object_or_404(Nastaveni)
|
|
verejne = nastaveni.aktualni_cislo.verejne()
|
|
akt_rocnik = nastaveni.aktualni_cislo.rocnik
|
|
temata = Tema.objects.filter(rocnik=akt_rocnik, stav='zadany')
|
|
return render(
|
|
request, 'tvorba/tematka/rozcestnik.html',
|
|
{
|
|
'tematka': temata,
|
|
'verejne': verejne,
|
|
},
|
|
)
|
|
|
|
|
|
def ZadaniAktualniVysledkovkaView(request):
|
|
nastaveni = get_object_or_404(Nastaveni)
|
|
# Aktualni verejna vysledkovka
|
|
rocnik = nastaveni.aktualni_rocnik
|
|
context = {'vysledkovka': VysledkovkaRocniku(rocnik, True)}
|
|
|
|
# kdyz neni verejna vysledkovka, tak zobraz starou
|
|
if len(context['vysledkovka'].cisla_rocniku) == 0:
|
|
try:
|
|
minuly_rocnik = Rocnik.objects.get(
|
|
rocnik=(rocnik.rocnik-1))
|
|
rocnik = minuly_rocnik
|
|
|
|
# Přepíšeme prázdnou výsledkovku výsledkovkou z minulého ročníku
|
|
context['vysledkovka'] = VysledkovkaRocniku(rocnik, True)
|
|
except ObjectDoesNotExist:
|
|
pass
|
|
|
|
context['rocnik'] = rocnik
|
|
return render(
|
|
request,
|
|
'tvorba/zadani/AktualniVysledkovka.html',
|
|
context
|
|
)
|
|
|
|
|
|
class AktualniRocnikRedirectView(RedirectView):
|
|
permanent = False
|
|
pattern_name = 'seminar_rocnik'
|
|
|
|
def get_redirect_url(self, *args, **kwargs):
|
|
aktualni_rocnik = Nastaveni.get_solo().aktualni_rocnik.rocnik
|
|
return super().get_redirect_url(rocnik=aktualni_rocnik, *args, **kwargs)
|