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