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)