Inteligentnější přiřazování seznamu přednášek hlasovátku a upozornění na neexistující seznam
This commit is contained in:
parent
a84df1909b
commit
1a2bef328b
3 changed files with 34 additions and 1 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
import http
|
||||||
|
|
||||||
from django.shortcuts import render, get_object_or_404
|
from django.shortcuts import render, get_object_or_404
|
||||||
from django.views import generic
|
from django.views import generic
|
||||||
from django.shortcuts import HttpResponseRedirect
|
from django.shortcuts import HttpResponseRedirect
|
||||||
|
@ -7,14 +9,20 @@ from django.forms import Form
|
||||||
|
|
||||||
from various.views.pomocne import formularOKView
|
from various.views.pomocne import formularOKView
|
||||||
|
|
||||||
|
from various.models import Nastaveni
|
||||||
from prednasky.models import Prednaska, Hlasovani, Seznam, STAV_NAVRH
|
from prednasky.models import Prednaska, Hlasovani, Seznam, STAV_NAVRH
|
||||||
from soustredeni.models import Soustredeni
|
from soustredeni.models import Soustredeni
|
||||||
from personalni.models import Osoba
|
from personalni.models import Osoba
|
||||||
|
|
||||||
def newPrednaska(request):
|
def newPrednaska(request):
|
||||||
# hlasovani se vztahuje k nejnovejsimu soustredeni
|
# hlasovani se vztahuje k nejnovejsimu soustredeni
|
||||||
sous = Soustredeni.objects.first()
|
sous = Nastaveni.get_solo().aktualni_sous
|
||||||
seznam = Seznam.objects.filter(soustredeni = sous, stav = STAV_NAVRH).first()
|
seznam = Seznam.objects.filter(soustredeni = sous, stav = STAV_NAVRH).first()
|
||||||
|
if sous is None or seznam is None:
|
||||||
|
return render(request, 'universal.html', {
|
||||||
|
'title': "Nelze hlasovat",
|
||||||
|
'text': "Není žádný seznam přednášek, o kterém by se dalo hlasovat.",
|
||||||
|
}, status=http.HTTPStatus.NOT_FOUND)
|
||||||
osoba = Osoba.objects.filter(user=request.user).first()
|
osoba = Osoba.objects.filter(user=request.user).first()
|
||||||
ucastnik = osoba.plne_jmeno() + ' ' + str(osoba.id)
|
ucastnik = osoba.plne_jmeno() + ' ' + str(osoba.id)
|
||||||
# obsluha formulare
|
# obsluha formulare
|
||||||
|
|
20
various/migrations/0007_nastaveni_aktualni_sous.py
Normal file
20
various/migrations/0007_nastaveni_aktualni_sous.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# Generated by Django 4.2.16 on 2025-01-21 20:34
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('soustredeni', '0013_alter_soustredeni_kontaktnicek_pdf_and_more'),
|
||||||
|
('various', '0006_tvorba_post'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='nastaveni',
|
||||||
|
name='aktualni_sous',
|
||||||
|
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='soustredeni.soustredeni', verbose_name='Aktuálně připravovaný sous'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -26,6 +26,11 @@ class Nastaveni(SingletonModel):
|
||||||
verbose_name="Účastnický poplatek za soustředění",
|
verbose_name="Účastnický poplatek za soustředění",
|
||||||
default=1000)
|
default=1000)
|
||||||
|
|
||||||
|
aktualni_sous = models.ForeignKey(
|
||||||
|
"soustredeni.Soustredeni", verbose_name='Aktuálně připravovaný sous',
|
||||||
|
null=True, blank=False, on_delete=models.PROTECT,
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def aktualni_rocnik(self):
|
def aktualni_rocnik(self):
|
||||||
return self.aktualni_cislo.rocnik
|
return self.aktualni_cislo.rocnik
|
||||||
|
|
Loading…
Reference in a new issue