mamweb/tvorba/views/aktualni.py

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)