Merge branch 'master' into odstrel_modelu_odevzdavatko
This commit is contained in:
		
						commit
						c71195fba1
					
				
					 15 changed files with 905 additions and 81 deletions
				
			
		|  | @ -25,12 +25,13 @@ class KorekturovanePDFAdmin(VersionAdmin): | ||||||
| 	fieldsets = [ | 	fieldsets = [ | ||||||
| 			(None, | 			(None, | ||||||
| 				{'fields': | 				{'fields': | ||||||
| 					['pdf', 'cas', 'org', 'stran', 'nazev', 'komentar', 'poslat_mail']}), | 					['pdf', 'cas', 'stran', 'nazev', 'orgove', 'komentar', 'poslat_mail']}), | ||||||
| 			# (u'PDF',       {'fields': ['pdf']}), | 			# (u'PDF',       {'fields': ['pdf']}), | ||||||
| 				] | 				] | ||||||
| 	list_display = ['nazev', 'cas', 'stran', 'org'] | 	list_display = ['nazev', 'cas', 'stran'] | ||||||
| 	list_filter = [] | 	list_filter = [] | ||||||
| 	search_fields = [] | 	search_fields = [] | ||||||
|  | 	autocomplete_fields = ['orgove'] | ||||||
| 
 | 
 | ||||||
| 	def save_model(self, request, obj, form, change): | 	def save_model(self, request, obj, form, change): | ||||||
| 		""" | 		""" | ||||||
|  |  | ||||||
							
								
								
									
										41
									
								
								korektury/migrations/0024_vic_orgu_k_pdf.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								korektury/migrations/0024_vic_orgu_k_pdf.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,41 @@ | ||||||
|  | # Generated by Django 4.2.13 on 2024-06-11 23:53 | ||||||
|  | 
 | ||||||
|  | from django.db import migrations, models | ||||||
|  | 
 | ||||||
|  | def pridej_orgy(apps, schema_editor): | ||||||
|  |     PDF = apps.get_model('korektury', 'KorekturovanePDF') | ||||||
|  |     for pdf in PDF.objects.all(): # Tohle by asi mělo jít udělat pomocí update, ale moc práce a rychlé hledání taky nepomohlo. | ||||||
|  |         if pdf.org is not None: pdf.orgove.add(pdf.org) | ||||||
|  |         pdf.save() # ig? | ||||||
|  | 
 | ||||||
|  | def vyber_orga(apps, schema_editor): | ||||||
|  |     PDF = apps.get_model('korektury', 'KorekturovanePDF') | ||||||
|  |     for pdf in PDF.objects.all(): | ||||||
|  |         orgove = pdf.orgove.all() | ||||||
|  |         if len(orgove) > 1: | ||||||
|  |             raise migrations.exceptions.IrreversibleError(f'PDF {pdf.id} má víc než jednoho zodpovědného orga, nejde odmigrovat na verzi, která umí jen jednoho.') | ||||||
|  |         if len(orgove) == 0: | ||||||
|  |             pdf.org = None | ||||||
|  |         else: | ||||||
|  |             pdf.org = orgove[0] | ||||||
|  |         pdf.save() | ||||||
|  | 
 | ||||||
|  | class Migration(migrations.Migration): | ||||||
|  | 
 | ||||||
|  |     dependencies = [ | ||||||
|  |         ('personalni', '0011_osloveni_vsechny_choices'), | ||||||
|  |         ('korektury', '0023_personalni_post_migrate'), | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     operations = [ | ||||||
|  |         migrations.AddField( | ||||||
|  |             model_name='korekturovanepdf', | ||||||
|  |             name='orgove', | ||||||
|  |             field=models.ManyToManyField(blank=True, default=None, help_text='Zodpovědní organizátoři za obsah (chodí jim maily o nových korekturách)', to='personalni.organizator'), | ||||||
|  |         ), | ||||||
|  |         migrations.RunPython(pridej_orgy, vyber_orga), | ||||||
|  |         migrations.RemoveField( | ||||||
|  |             model_name='korekturovanepdf', | ||||||
|  |             name='org', | ||||||
|  |         ), | ||||||
|  |     ] | ||||||
|  | @ -26,7 +26,6 @@ def generate_filename(self, filename): | ||||||
| 		clean) | 		clean) | ||||||
| 	return os.path.join(settings.KOREKTURY_PDF_DIR, fname) | 	return os.path.join(settings.KOREKTURY_PDF_DIR, fname) | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| #@reversion.register(ignore_duplicates=True) | #@reversion.register(ignore_duplicates=True) | ||||||
| class KorekturovanePDF(models.Model): | class KorekturovanePDF(models.Model): | ||||||
| 	class Meta: | 	class Meta: | ||||||
|  | @ -46,9 +45,9 @@ class KorekturovanePDF(models.Model): | ||||||
| 
 | 
 | ||||||
| 	pdf = models.FileField(u'PDF', upload_to = generate_filename) | 	pdf = models.FileField(u'PDF', upload_to = generate_filename) | ||||||
| 
 | 
 | ||||||
| 	org = models.ForeignKey(Organizator, blank=True, | 	orgove = models.ManyToManyField(Organizator, blank=True, | ||||||
| 		help_text='Zodpovědný organizátor za obsah', | 		help_text='Zodpovědní organizátoři za obsah (chodí jim maily o nových korekturách)', | ||||||
| 		null=True, default=None, on_delete=models.SET_NULL) | 		default=None) | ||||||
| 
 | 
 | ||||||
| 	stran = models.IntegerField(u'počet stran', help_text='Počet stran PDF', | 	stran = models.IntegerField(u'počet stran', help_text='Počet stran PDF', | ||||||
| 								default=0) | 								default=0) | ||||||
|  |  | ||||||
|  | @ -183,9 +183,9 @@ class KorekturyView(generic.TemplateView): | ||||||
| 			if email_komentujiciho: | 			if email_komentujiciho: | ||||||
| 				emails.add(email_komentujiciho) | 				emails.add(email_komentujiciho) | ||||||
| 
 | 
 | ||||||
| 		# zodpovedny org | 		# zodpovedni orgove | ||||||
| 		if oprava.pdf.org: | 		for org in oprava.pdf.orgove.all(): | ||||||
| 			email_zobpovedny = oprava.pdf.org.osoba.email | 			email_zobpovedny = org.osoba.email | ||||||
| 			if email_zobpovedny: | 			if email_zobpovedny: | ||||||
| 				emails.add(email_zobpovedny) | 				emails.add(email_zobpovedny) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -87,6 +87,7 @@ TEMPLATES = [ | ||||||
| 				'header_fotky.context_processors.vzhled', | 				'header_fotky.context_processors.vzhled', | ||||||
| 				'various.context_processors.rozliseni', | 				'various.context_processors.rozliseni', | ||||||
| 				'various.context_processors.april', | 				'various.context_processors.april', | ||||||
|  | 				'various.context_processors.halloween', | ||||||
| 			) | 			) | ||||||
| 		}, | 		}, | ||||||
| 	}, | 	}, | ||||||
|  |  | ||||||
|  | @ -8,6 +8,13 @@ | ||||||
| 	font-weight: normal; | 	font-weight: normal; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | /* https://fontzone.net/font-details/qtghoulface-regular doplněný o diakritiku pomocí FontForge*/ | ||||||
|  | @font-face { | ||||||
|  | 	font-family: 'GhoulFace'; | ||||||
|  | 	src: url("../fonts/ghoul/ghoul.ttf"); | ||||||
|  | 	font-weight: normal; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| body { | body { | ||||||
| 	font-size: 14px; | 	font-size: 14px; | ||||||
| 	font-family: 'OpenSans'; | 	font-family: 'OpenSans'; | ||||||
|  |  | ||||||
|  | @ -19,10 +19,10 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */ | ||||||
| 		margin-top: var(--login-bar-height); | 		margin-top: var(--login-bar-height); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	div.kontent-wrapper { | 	& div.kontent-wrapper { | ||||||
| 		padding-bottom: var(--footer-height); | 		padding-bottom: var(--footer-height); | ||||||
| 
 | 
 | ||||||
| 		div.kontent { | 		& div.kontent { | ||||||
| 			padding: 15px 30px; | 			padding: 15px 30px; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -67,16 +67,16 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */ | ||||||
| 	background-size: 100%; | 	background-size: 100%; | ||||||
| 	top: 58px; | 	top: 58px; | ||||||
| 
 | 
 | ||||||
| 	img.logo { | 	& img.logo { | ||||||
| 		width: 100%; | 		width: 100%; | ||||||
| 		filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); | 		filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	img.logo-mobile { | 	& img.logo-mobile { | ||||||
| 		display: none; | 		display: none; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	.no-mobile { | 	& .no-mobile { | ||||||
| 		background-size: contain; | 		background-size: contain; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | @ -94,12 +94,12 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */ | ||||||
| 	filter: drop-shadow(5px 0px 5px rgba(0, 0, 0, 0.4)); | 	filter: drop-shadow(5px 0px 5px rgba(0, 0, 0, 0.4)); | ||||||
| 	padding-top: 3.5%; | 	padding-top: 3.5%; | ||||||
| 
 | 
 | ||||||
| 	p.license { | 	& p.license { | ||||||
| 		text-align: center; | 		text-align: center; | ||||||
| 		font-weight: 400; | 		font-weight: 400; | ||||||
| 		bottom: 0; | 		bottom: 0; | ||||||
| 
 | 
 | ||||||
| 		a { | 		& a { | ||||||
| 			color: #333; | 			color: #333; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -139,21 +139,21 @@ div.login-bar { | ||||||
| 	padding-left: 5px; | 	padding-left: 5px; | ||||||
| 	padding-right: 5px; | 	padding-right: 5px; | ||||||
| 
 | 
 | ||||||
| 	div { | 	& div { | ||||||
| 		display: inline; | 		display: inline; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	a.LOGIN-ref-admin { | 	& a.LOGIN-ref-admin { | ||||||
| 		display: inline; | 		display: inline; | ||||||
| 		color: var(--barva-pozadi); | 		color: var(--barva-pozadi); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	.LOGIN_napis-webarum { | 	& .LOGIN_napis-webarum { | ||||||
| 		display: inline; | 		display: inline; | ||||||
| 		color: var(--barva-pozadi); | 		color: var(--barva-pozadi); | ||||||
| 		float: right; | 		float: right; | ||||||
| 
 | 
 | ||||||
| 		a { | 		& a { | ||||||
| 			color: var(--svetla-oranzova); | 			color: var(--svetla-oranzova); | ||||||
| 			text-decoration: underline; | 			text-decoration: underline; | ||||||
| 		} | 		} | ||||||
|  | @ -176,7 +176,7 @@ div.login-bar { | ||||||
| 	#header { | 	#header { | ||||||
| 		background-size: 100%; | 		background-size: 100%; | ||||||
| 
 | 
 | ||||||
| 		img.logo { | 		& img.logo { | ||||||
| 			width: 100%; | 			width: 100%; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -202,11 +202,11 @@ div.login-bar { | ||||||
| 		top: 0; | 		top: 0; | ||||||
| 		background-image: none; | 		background-image: none; | ||||||
| 
 | 
 | ||||||
| 		img.logo { | 		& img.logo { | ||||||
| 			display: none; | 			display: none; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		img.logo-mobile { | 		& img.logo-mobile { | ||||||
| 			display: block; | 			display: block; | ||||||
| 			top: 0; | 			top: 0; | ||||||
| 			left: 0; | 			left: 0; | ||||||
|  | @ -215,7 +215,7 @@ div.login-bar { | ||||||
| 			margin-bottom: 3px; | 			margin-bottom: 3px; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		.no-mobile{ | 		& .no-mobile{ | ||||||
| 			display: none; | 			display: none; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -241,13 +241,13 @@ ul.menu { | ||||||
| 
 | 
 | ||||||
| 	font-variant: small-caps; | 	font-variant: small-caps; | ||||||
| 
 | 
 | ||||||
| 	a { | 	& a { | ||||||
| 		text-decoration: none; | 		text-decoration: none; | ||||||
| 		font-weight: bold; | 		font-weight: bold; | ||||||
| 		font-size: 105%; | 		font-size: 105%; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	li { | 	& li { | ||||||
| 		margin: 0; | 		margin: 0; | ||||||
| 		display: inline-block; | 		display: inline-block; | ||||||
| 		width: 16.666667%; | 		width: 16.666667%; | ||||||
|  | @ -256,7 +256,7 @@ ul.menu { | ||||||
| 		font-size: 140%; | 		font-size: 140%; | ||||||
| 		font-weight: 400; | 		font-weight: 400; | ||||||
| 
 | 
 | ||||||
| 		>a:hover, >a:active { | 		&>a:hover, &>a:active { | ||||||
| 			color: black; | 			color: black; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | @ -265,7 +265,7 @@ ul.menu { | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	ul.submenu { | 	& ul.submenu { | ||||||
| 
 | 
 | ||||||
| 		background-color: var(--hlavni-oranzova); | 		background-color: var(--hlavni-oranzova); | ||||||
| 		margin-top: 10px; /* mezera mezi hlavním menu a submenu */ | 		margin-top: 10px; /* mezera mezi hlavním menu a submenu */ | ||||||
|  | @ -277,24 +277,24 @@ ul.menu { | ||||||
| 		z-index: 50; | 		z-index: 50; | ||||||
| 		font-weight: 400; | 		font-weight: 400; | ||||||
| 
 | 
 | ||||||
| 		li { | 		& li { | ||||||
| 			width: auto; | 			width: auto; | ||||||
| 			padding: 0 20px 0 20px; | 			padding: 0 20px 0 20px; | ||||||
| 			display: inline-block; | 			display: inline-block; | ||||||
| 
 | 
 | ||||||
| 			>a { | 			&>a { | ||||||
| 				color: var(--svetla-oranzova); | 				color: var(--svetla-oranzova); | ||||||
| 				text-decoration: none; | 				text-decoration: none; | ||||||
| 				text-shadow: none; | 				text-shadow: none; | ||||||
| 
 | 
 | ||||||
| 				:hover { | 				&:hover { | ||||||
| 					color: black; | 					color: black; | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	ul.submenu li.active>a, .parentactive ul li:first-child>a { | 	& ul.submenu li.active>a, & .parentactive ul li:first-child>a { | ||||||
| 		color: black; | 		color: black; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | @ -304,7 +304,7 @@ ul.menu { | ||||||
| 		font-size: 90%; | 		font-size: 90%; | ||||||
| 		margin-top: -7px; | 		margin-top: -7px; | ||||||
| 
 | 
 | ||||||
| 		li { | 		& li { | ||||||
| 			margin-top: 10px; /* posunutí textu hlavního menu níže */ | 			margin-top: 10px; /* posunutí textu hlavního menu níže */ | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -312,7 +312,7 @@ ul.menu { | ||||||
| 	ul.submenu { | 	ul.submenu { | ||||||
| 		margin-top: 8px; /* mezera mezi hlavním menu a submenu */ | 		margin-top: 8px; /* mezera mezi hlavním menu a submenu */ | ||||||
| 
 | 
 | ||||||
| 		li { | 		& li { | ||||||
| 			margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ | 			margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -323,7 +323,7 @@ ul.menu { | ||||||
| 		font-size: 80%; | 		font-size: 80%; | ||||||
| 		margin-top: -2px; | 		margin-top: -2px; | ||||||
| 
 | 
 | ||||||
| 		li { | 		& li { | ||||||
| 			margin-top: 10px; /* posunutí textu hlavního menu níže */ | 			margin-top: 10px; /* posunutí textu hlavního menu níže */ | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -331,7 +331,7 @@ ul.menu { | ||||||
| 	ul.submenu { | 	ul.submenu { | ||||||
| 		margin-top: 8px; /* mezera mezi hlavním menu a submenu */ | 		margin-top: 8px; /* mezera mezi hlavním menu a submenu */ | ||||||
| 
 | 
 | ||||||
| 		li { | 		& li { | ||||||
| 			margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ | 			margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -354,20 +354,20 @@ ul.menu { | ||||||
| 		padding-bottom: 3px; | 		padding-bottom: 3px; | ||||||
| 		padding-left: 12px; | 		padding-left: 12px; | ||||||
| 
 | 
 | ||||||
| 		a { | 		& a { | ||||||
| 			&:active, &:hover, &:focus { | 			&:active, &:hover, &:focus { | ||||||
| 				text-decoration: none; | 				text-decoration: none; | ||||||
| 				color: black; | 				color: black; | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		ul { | 		& ul { | ||||||
| 			list-style-type: none; | 			list-style-type: none; | ||||||
| 			font-size: 90%; | 			font-size: 90%; | ||||||
| 			color: black; /*černé šipky submenu*/ | 			color: black; /*černé šipky submenu*/ | ||||||
| 
 | 
 | ||||||
| 			li { | 			& li { | ||||||
| 				> a { | 				&>a { | ||||||
| 					color: black; | 					color: black; | ||||||
| 				} | 				} | ||||||
| 
 | 
 | ||||||
|  | @ -377,7 +377,7 @@ ul.menu { | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		br { | 		& br { | ||||||
| 			display: none; | 			display: none; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | @ -459,13 +459,13 @@ body.suprodweb { &:before, &:after { background: red; } } | ||||||
| 		display: block; | 		display: block; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	h1 { text-align: center; } | 	& h1 { text-align: center; } | ||||||
| 
 | 
 | ||||||
| 	.TITULNI_STRANA_zjistit_vic{ | 	& .TITULNI_STRANA_zjistit_vic{ | ||||||
| 		text-align: center; | 		text-align: center; | ||||||
| 		margin-bottom: 30px; | 		margin-bottom: 30px; | ||||||
| 
 | 
 | ||||||
| 		hr { | 		& hr { | ||||||
| 			display: none; | 			display: none; | ||||||
| 
 | 
 | ||||||
| 			@media(max-width: 800px){ | 			@media(max-width: 800px){ | ||||||
|  | @ -474,15 +474,15 @@ body.suprodweb { &:before, &:after { background: red; } } | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	.TITULNI_STRANA_graf { | 	& .TITULNI_STRANA_graf { | ||||||
| 		@media(max-width: 800px) { | 		@media(max-width: 800px) { | ||||||
| 			padding-top: 40px; | 			padding-top: 40px; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		.TITULNI_STRANA_graf-svg { | 		& .TITULNI_STRANA_graf-svg { | ||||||
| 			display: flex; | 			display: flex; | ||||||
| 
 | 
 | ||||||
| 			#svg-graf { | 			& #svg-graf { | ||||||
| 				width: 100%; | 				width: 100%; | ||||||
| 				height: auto; | 				height: auto; | ||||||
| 				margin: 30px; | 				margin: 30px; | ||||||
|  | @ -496,7 +496,7 @@ body.suprodweb { &:before, &:after { background: red; } } | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	.TITULNI_STRANA_obsah { | 	& .TITULNI_STRANA_obsah { | ||||||
| 		width: 66%; | 		width: 66%; | ||||||
| 
 | 
 | ||||||
| 		@media(max-width: 800px){ | 		@media(max-width: 800px){ | ||||||
|  | @ -504,7 +504,7 @@ body.suprodweb { &:before, &:after { background: red; } } | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	.TITULNI_STRANA_vitej_titulka, .TITULNI_STRANA_temata_titulka { | 	& .TITULNI_STRANA_vitej_titulka, & .TITULNI_STRANA_temata_titulka { | ||||||
| 		width: 49%; | 		width: 49%; | ||||||
| 		padding: 10px; | 		padding: 10px; | ||||||
| 		display: table-cell; | 		display: table-cell; | ||||||
|  | @ -515,7 +515,7 @@ body.suprodweb { &:before, &:after { background: red; } } | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	.TITULNI_STRANA_novinky { | 	& .TITULNI_STRANA_novinky { | ||||||
| 		width: 33%; | 		width: 33%; | ||||||
| 		padding: 10px; | 		padding: 10px; | ||||||
| 
 | 
 | ||||||
|  | @ -540,11 +540,11 @@ div.odpocet { | ||||||
| .stranka_aktualni_zadani { | .stranka_aktualni_zadani { | ||||||
| 	text-align: center; | 	text-align: center; | ||||||
| 
 | 
 | ||||||
| 	#AKTUALNI_ZADADNI_obrazek { | 	& #AKTUALNI_ZADADNI_obrazek { | ||||||
| 		margin-top: 15px; | 		margin-top: 15px; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	div.AKTUALNI_ZADANI_termin { | 	& div.AKTUALNI_ZADANI_termin { | ||||||
| 		text-align: center; | 		text-align: center; | ||||||
| 		font-size: large; | 		font-size: large; | ||||||
| 		font-weight: bold; | 		font-weight: bold; | ||||||
|  | @ -553,7 +553,7 @@ div.odpocet { | ||||||
| 			font-size: small; | 			font-size: small; | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		.AKTUALNI_ZADANI_datum { | 		& .AKTUALNI_ZADANI_datum { | ||||||
| 			color: var(--hlavni-oranzova); | 			color: var(--hlavni-oranzova); | ||||||
| 			margin: 0; | 			margin: 0; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
							
								
								
									
										731
									
								
								mamweb/static/css/mamweb_legacy.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										731
									
								
								mamweb/static/css/mamweb_legacy.css
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,731 @@ | ||||||
|  | @charset "utf-8"; /* vynuť utf-8 */ | ||||||
|  | 
 | ||||||
|  | @supports (-webkit-touch-callout: none) and (not (offset-position: normal)) { | ||||||
|  | 
 | ||||||
|  | .button { | ||||||
|  | 	margin: 10px 0 10px 0; | ||||||
|  | 	padding: 4px 0; /*vertikální centování textu*/ | ||||||
|  | 	text-align: center; | ||||||
|  | 	background-color: var(--hlavni-oranzova); | ||||||
|  | 	color: var(--barva-pozadi); | ||||||
|  | 	font-size: 150%; | ||||||
|  | 	font-weight: bold; | ||||||
|  | 	font-variant: small-caps; | ||||||
|  | 	filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); | ||||||
|  | } | ||||||
|  | .button:hover { | ||||||
|  | 	position: relative; | ||||||
|  | 	top: 2px; | ||||||
|  | 	left: 2px; | ||||||
|  | 	background-color: #df490e; | ||||||
|  | } | ||||||
|  | /******************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /* Rozložení webu a jeho prvky (hlavička, menu, footer) */ | ||||||
|  | 
 | ||||||
|  | /**** KONTEJNER ****/ | ||||||
|  | div.kontejner { /* Ne container, aby se to netlouklo s bootstrapem. */ | ||||||
|  | 	width: 970px; | ||||||
|  | 	margin: auto; | ||||||
|  | 	min-height: 100vh; | ||||||
|  | 	position: relative; | ||||||
|  | 	padding: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .org-logged-in div.kontejner { | ||||||
|  | 	margin-top: var(--login-bar-height); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.kontejner div.kontent-wrapper { | ||||||
|  | 	padding-bottom: var(--footer-height); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.kontejner div.kontent-wrapper div.kontent { | ||||||
|  | 	padding: 15px 30px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Roztáhne obsah z containeru na celou šířku obrazovky: */ | ||||||
|  | .full_width { | ||||||
|  | 	width: 100vw; | ||||||
|  | 	margin-left: calc(-50vw + 485px); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Na úzkém displeji nechceme nic dělat. */ | ||||||
|  | @media(max-width: 860px) { | ||||||
|  | 	.full_width { | ||||||
|  | 		margin-left: 0; | ||||||
|  | 		width: unset; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | /*******************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /**** HLAVIČKA ****/ | ||||||
|  | #header { | ||||||
|  | 	position: relative; | ||||||
|  | 	background: url("../images/header/vikendovka.jpg") no-repeat center top; /* poměr 350:970, TODO: aby to nemuselo být přesně na pixely */ | ||||||
|  | 	background-size: 100%; | ||||||
|  | 	top: 58px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #header img.logo { | ||||||
|  | 	width: 100%; | ||||||
|  | 	filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #header img.logo-mobile { | ||||||
|  | 	display: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #header .no-mobile { | ||||||
|  | 	background-size: contain; | ||||||
|  | } | ||||||
|  | /******************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /**** Footer ****/ | ||||||
|  | #footer { | ||||||
|  | 	position: absolute; | ||||||
|  | 	bottom: 0; | ||||||
|  | 	width: 100%; | ||||||
|  | 	background: url("../images/mozaika-footer.svg") no-repeat top center; | ||||||
|  | 	height: var(--footer-height); | ||||||
|  | 	background-size: 100%; | ||||||
|  | 	filter: drop-shadow(5px 0px 5px rgba(0, 0, 0, 0.4)); | ||||||
|  | 	padding-top: 3.5%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #footer p.license { | ||||||
|  | 	text-align: center; | ||||||
|  | 	font-weight: 400; | ||||||
|  | 	bottom: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | #footer p.license a { | ||||||
|  | 	color: #333; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (max-width: 650px) { | ||||||
|  | 	#footer { | ||||||
|  | 		display: none; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | p.license-mobile { | ||||||
|  | 	display: none; | ||||||
|  | 	margin-bottom: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (max-width: 650px) { | ||||||
|  | 	p.license-mobile { | ||||||
|  | 		position: relative; | ||||||
|  | 		display: block; | ||||||
|  | 		font-size: 90%; | ||||||
|  | 		background-color: var(--hlavni-oranzova); | ||||||
|  | 		padding: 5%; | ||||||
|  | 		text-align: justify; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | /****************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /**** LOGIN BAR ****/ | ||||||
|  | div.login-bar { | ||||||
|  | 	background: var(--orgovska-fialova); | ||||||
|  | 	color: var(--svetla-oranzova); | ||||||
|  | 	width: 100%; | ||||||
|  | 
 | ||||||
|  | 	position: fixed; | ||||||
|  | 	margin-top: calc(-1 * var(--login-bar-height)); | ||||||
|  | 	min-height: var(--login-bar-height); | ||||||
|  | 	z-index: 4086; | ||||||
|  | 
 | ||||||
|  | 	padding-left: 5px; | ||||||
|  | 	padding-right: 5px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.login-bar div { | ||||||
|  | 	display: inline; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.login-bar a.LOGIN-ref-admin { | ||||||
|  | 	display: inline; | ||||||
|  | 	color: var(--barva-pozadi); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.login-bar .LOGIN_napis-webarum { | ||||||
|  | 	display: inline; | ||||||
|  | 	color: var(--barva-pozadi); | ||||||
|  | 	float: right; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.login-bar .LOGIN_napis-webarum a { | ||||||
|  | 	color: var(--svetla-oranzova); | ||||||
|  | 	text-decoration: underline; | ||||||
|  | } | ||||||
|  | /*******************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /* stránka přes celý displej */ | ||||||
|  | @media (max-width: 970px) { | ||||||
|  | 	#header { | ||||||
|  | 		background-size: 100%; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	#header img.logo { | ||||||
|  | 		width: 100%; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* malý tablet, mobil */ | ||||||
|  | @media (max-width: 650px) { | ||||||
|  | 	#header { | ||||||
|  | 		width: 100%; | ||||||
|  | 		top: 0; | ||||||
|  | 		background-image: none; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	#header img.logo { | ||||||
|  | 		display: none; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	#header img.logo-mobile { | ||||||
|  | 		display: block; | ||||||
|  | 		top: 0; | ||||||
|  | 		left: 0; | ||||||
|  | 		width: 100%; | ||||||
|  | 		filter: drop-shadow(0px 0 5px rgba(0, 0, 0, 0.4)); | ||||||
|  | 		margin-bottom: 3px; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	#header .no-mobile{ | ||||||
|  | 		display: none; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /**** MENU ****/ | ||||||
|  | 
 | ||||||
|  | ul.menu { | ||||||
|  | 	width: 100%; | ||||||
|  | 	padding: 0; | ||||||
|  | 	margin-top: -5px; /* posune celé menu nahoru (pak potřeba zvětšit mezeru mezi menu a submenu) */ | ||||||
|  | 
 | ||||||
|  | 	font-variant: small-caps; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ul.menu a { | ||||||
|  | 	text-decoration: none; | ||||||
|  | 	font-weight: bold; | ||||||
|  | 	font-size: 105%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ul.menu li { | ||||||
|  | 	margin: 0; | ||||||
|  | 	display: inline-block; | ||||||
|  | 	width: 16.666667%; | ||||||
|  | 	text-align: center; | ||||||
|  | 
 | ||||||
|  | 	font-size: 140%; | ||||||
|  | 	font-weight: 400; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ul.menu li >a:hover, >a:active { | ||||||
|  | 	color: black; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ul.menu li.active>a { | ||||||
|  | 	color: var(--svetla-oranzova); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ul.menu ul.submenu { | ||||||
|  | 	background-color: var(--hlavni-oranzova); | ||||||
|  | 	margin-top: 10px; /* mezera mezi hlavním menu a submenu */ | ||||||
|  | 	margin-bottom: 10px; | ||||||
|  | 	padding-top: 10px; | ||||||
|  | 	padding-bottom: 5px; | ||||||
|  | 	filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4)); | ||||||
|  | 
 | ||||||
|  | 	z-index: 50; | ||||||
|  | 	font-weight: 400; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ul.menu ul.submenu li { | ||||||
|  | 	width: auto; | ||||||
|  | 	padding: 0 20px 0 20px; | ||||||
|  | 	display: inline-block; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ul.menu ul.submenu li >a { | ||||||
|  | 	color: var(--svetla-oranzova); | ||||||
|  | 	text-decoration: none; | ||||||
|  | 	text-shadow: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ul.menu ul.submenu li >a :hover { | ||||||
|  | 	color: black; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | ul.menu ul.submenu li.active>a, .parentactive ul li:first-child>a { | ||||||
|  | 	color: black; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (max-width: 970px) { | ||||||
|  | 	ul.menu { | ||||||
|  | 		font-size: 90%; | ||||||
|  | 		margin-top: -7px; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ul.menu li { | ||||||
|  | 		margin-top: 10px; /* posunutí textu hlavního menu níže */ | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ul.submenu { | ||||||
|  | 		margin-top: 8px; /* mezera mezi hlavním menu a submenu */ | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ul.submenu li { | ||||||
|  | 		margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media(max-width: 800px) { | ||||||
|  | 	ul.menu { | ||||||
|  | 		font-size: 80%; | ||||||
|  | 		margin-top: -2px; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ul.menu li { | ||||||
|  | 		margin-top: 10px; /* posunutí textu hlavního menu níže */ | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ul.submenu { | ||||||
|  | 		margin-top: 8px; /* mezera mezi hlavním menu a submenu */ | ||||||
|  | 	} | ||||||
|  | 	ul.submenu li { | ||||||
|  | 		margin-top: 0; /* aby se spolu s textem hlavního menu neposunoval níže i text submenu */ | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (max-width: 650px) { | ||||||
|  | 	ul.menu { | ||||||
|  | 		display: none; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ul.menu_mobile { | ||||||
|  | 		display: block; | ||||||
|  | 		z-index: 10; | ||||||
|  | 		position: sticky; | ||||||
|  | 		font-variant: small-caps; | ||||||
|  | 		font-size: 150%; | ||||||
|  | 		font-weight: bold; | ||||||
|  | 		list-style-type: none; | ||||||
|  | 		padding-top: 3px; | ||||||
|  | 		padding-bottom: 3px; | ||||||
|  | 		padding-left: 12px; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ul.menu_mobile a:active, ul.menu_mobile a:hover, ul.menu_mobile a:focus { | ||||||
|  | 		text-decoration: none; | ||||||
|  | 		color: black; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ul.menu_mobile ul { | ||||||
|  | 		list-style-type: none; | ||||||
|  | 		font-size: 90%; | ||||||
|  | 		color: black; /*černé šipky submenu*/ | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ul.menu_mobile ul li > a { | ||||||
|  | 		color: black; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ul.menu_mobile ul li::before { | ||||||
|  | 		content: ' \276D  '; /*https://www.w3schools.com/cssref/css_entities.asp*/ | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	ul.menu_mobile br { | ||||||
|  | 		display: none; | ||||||
|  | 	} | ||||||
|  | } /* konec @media */ | ||||||
|  | /**************/ | ||||||
|  | 
 | ||||||
|  | /**** ZBYTEK ****/ | ||||||
|  | /* (konkrétní stránky) */ | ||||||
|  | 
 | ||||||
|  | /* Titulní stránka */ | ||||||
|  | .titulnistrana { | ||||||
|  | 	display: flex; | ||||||
|  | 	text-align: justify; | ||||||
|  | 
 | ||||||
|  | @media(max-width: 800px){ | ||||||
|  | 	.titulnistrana { | ||||||
|  | 		display: block; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .titulnistrana h1 { text-align: center; } | ||||||
|  | 
 | ||||||
|  | .titulnistrana .TITULNI_STRANA_zjistit_vic { | ||||||
|  | 	text-align: center; | ||||||
|  | 	margin-bottom: 30px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .titulnistrana .TITULNI_STRANA_zjistit_vic hr { | ||||||
|  | 	display: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media(max-width: 800px){ | ||||||
|  | 	.titulnistrana .TITULNI_STRANA_zjistit_vic hr { | ||||||
|  | 		display: flex; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media(max-width: 800px) { | ||||||
|  | 	.titulnistrana .TITULNI_STRANA_graf { | ||||||
|  | 		padding-top: 40px; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .titulnistrana .TITULNI_STRANA_graf .TITULNI_STRANA_graf-svg { | ||||||
|  | 	display: flex; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .titulnistrana .TITULNI_STRANA_graf .TITULNI_STRANA_graf-svg #svg-graf { | ||||||
|  | 	width: 100%; | ||||||
|  | 	height: auto; | ||||||
|  | 	margin: 30px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media(max-width: 800px){ | ||||||
|  | 	.titulnistrana .TITULNI_STRANA_graf .TITULNI_STRANA_graf-svg #svg-graf { | ||||||
|  | 		max-width: 500px; | ||||||
|  | 		padding: 10px; | ||||||
|  | 		margin: auto; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .titulnistrana .TITULNI_STRANA_obsah { | ||||||
|  | 	width: 66%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media(max-width: 800px){ | ||||||
|  | 	.titulnistrana .TITULNI_STRANA_obsah { | ||||||
|  | 		width: 100%; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .titulnistrana .TITULNI_STRANA_vitej_titulka, .TITULNI_STRANA_temata_titulka { | ||||||
|  | 	width: 49%; | ||||||
|  | 	padding: 10px; | ||||||
|  | 	display: table-cell; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (max-width: 650px) { | ||||||
|  | 	.titulnistrana .TITULNI_STRANA_vitej_titulka, .TITULNI_STRANA_temata_titulka { | ||||||
|  | 		width: 100%; | ||||||
|  | 		display: block; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .titulnistrana .TITULNI_STRANA_novinky { | ||||||
|  | 	width: 33%; | ||||||
|  | 	padding: 10px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media(max-width: 800px){ | ||||||
|  | 	.titulnistrana .TITULNI_STRANA_novinky { | ||||||
|  | 			width: 100%; | ||||||
|  | 			max-width: 500px; | ||||||
|  | 			margin: auto; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /* Stránky Aktuální ročník */ | ||||||
|  | .stranka_aktualni_zadani { | ||||||
|  | 	text-align: center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .stranka_aktualni_zadani #AKTUALNI_ZADADNI_obrazek { | ||||||
|  | 	margin-top: 15px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .stranka_aktualni_zadani div.AKTUALNI_ZADANI_termin { | ||||||
|  | 	text-align: center; | ||||||
|  | 	font-size: large; | ||||||
|  | 	font-weight: bold; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (max-width: 420px) { | ||||||
|  | 	.stranka_aktualni_zadani div.AKTUALNI_ZADANI_termin { | ||||||
|  | 		font-size: small; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .stranka_aktualni_zadani .AKTUALNI_ZADANI_datum { | ||||||
|  | 		color: var(--hlavni-oranzova); | ||||||
|  | 		margin: 0; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /* Stránka Jak řešit */ | ||||||
|  | .jakresit svg { | ||||||
|  | 	width: 33%; | ||||||
|  | 	padding: 10px; | ||||||
|  | 	filter: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media(max-width: 860px) { | ||||||
|  | 	.jakresit svg { | ||||||
|  | 		margin: auto; | ||||||
|  | 		display: grid; | ||||||
|  | 		width: 100%; | ||||||
|  | 		max-width: 360px; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /**** OZNAČENÍ NE-PUBLIC ČÁSTÍ ****/ | ||||||
|  | .mam-org-only { | ||||||
|  | 	background: var(--orgovska-svetla-fialova); | ||||||
|  | 	padding: 10px; | ||||||
|  | 	margin: 10px -10px; | ||||||
|  | 	border: var(--orgovska-fialova) 2px dashed; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .mam-org-only .mam-org-only { | ||||||
|  | 	border: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .mam-org-only li { | ||||||
|  | 	padding: 3px 0; | ||||||
|  | 	margin: -2px 0; | ||||||
|  | } | ||||||
|  | /**********************************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /**** OTÁČECÍ KARTY ****/ | ||||||
|  | /* (orgové, archiv) */ | ||||||
|  | .flip-card { | ||||||
|  | 	perspective: 1000px; /* Remove this if you don't want the 3D effect */ | ||||||
|  | 	margin-left: auto; | ||||||
|  | 	margin-right: auto; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 	/* This container is needed to position the front and back side */ | ||||||
|  | .flip-card .flip-card-inner { | ||||||
|  | 	position: relative; | ||||||
|  | 	width: 100%; | ||||||
|  | 	height: 100%; | ||||||
|  | 	transition: transform 0.8s; | ||||||
|  | 	transform-style: preserve-3d; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 	/* Do an horizontal flip when you move the mouse over the flip box container */ | ||||||
|  | .flip-card:hover .flip-card-inner { | ||||||
|  | 	transform: rotateY(180deg); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 	/* Position the front and back side */ | ||||||
|  | .flip-card .flip-card-front, .flip-card-back { | ||||||
|  | 	position: absolute; | ||||||
|  | 	width: 100%; | ||||||
|  | 	height: 100%; | ||||||
|  | 	-webkit-backface-visibility: hidden; /* Safari */ | ||||||
|  | 	backface-visibility: hidden; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .flip-card div.flip-card-foto, div.flip-card-foto img { | ||||||
|  | 	width: 100%; | ||||||
|  | 	height: 100%; | ||||||
|  | 
 | ||||||
|  | 	/* Pokud je na přední straně něco proklikávacího (třeba celá fotka), tak na dotykových zařízeních nemůže proklikávat, aby se dalo otáčet */ | ||||||
|  | @media(hover: none) { | ||||||
|  | 	.flip-card div.flip-card-foto, div.flip-card-foto img a { pointer-events: none; } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 	/* Style the back side */ | ||||||
|  | 	.flip-card-back { | ||||||
|  | 		transform: rotateY(180deg); | ||||||
|  | 		padding: 10px; | ||||||
|  | 		padding-top: 20px; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | /***********************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /**** TABULKY ****/ | ||||||
|  | 
 | ||||||
|  | /** Tabulka s čárami mezi sloupci **/ | ||||||
|  | /* Např. výsledkovky */ | ||||||
|  | 
 | ||||||
|  | .tabulka_oramovane_sloupce { | ||||||
|  | 	border: solid 2px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .tabulka_oramovane_sloupce td:first-child, .tabulka_oramovane_sloupce th:first-child { | ||||||
|  | 	border-left: none; | ||||||
|  | 	border-right: solid 1px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .tabulka_oramovane_sloupce td:nth-child(2), .tabulka_oramovane_sloupce th:nth-child(2) { | ||||||
|  | 	border-left: none; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .tabulka_oramovane_sloupce td, .tabulka_oramovane_sloupce th { | ||||||
|  | 	padding: 0.1em 0.3em; | ||||||
|  | 	border-left: solid 1px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .tabulka_oramovane_sloupce thead th, .tabulka_oramovane_sloupce thead td { | ||||||
|  | 	border-bottom: solid 1px; | ||||||
|  | } | ||||||
|  | /***********************************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** Tabulka se střídajícími se barvami řádků **/ | ||||||
|  | /* Skoro jakákoliv tabulka kromě výsledkovek */ | ||||||
|  | 
 | ||||||
|  | .barevna_tabulka td th { | ||||||
|  | 	padding: 1px 10px 1px 10px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .barevna_tabulka tbody tr:nth-child(even), thead tr { | ||||||
|  | 	background: var(--svetlounka-oranzova); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .barevna_tabulka tbody tr:nth-child(odd) { | ||||||
|  | 	background: var(--barva-pozadi); | ||||||
|  | } | ||||||
|  | /**********************************************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** Tabulka, kde první řádek a sloupec je pořád vidět **/ | ||||||
|  | /* Např. tabulka odevzdaných řešení, nebo výsledkovky */ | ||||||
|  | .tabulka_s_uchycenym_radkem_a_sloupcem { | ||||||
|  | 	/* Omezí výšku a šířku, aby bylo příjemné na scrollování a zapne scrollování */ | ||||||
|  | 	display: block; | ||||||
|  | 	width: fit-content; /* display: block; roztahuje na celou šířku */ | ||||||
|  | 	max-height: 80vh; | ||||||
|  | 	overflow: auto; | ||||||
|  | 	max-width: 90%; /* (FIXME asi není potřeba u tabulek, co nejsou na celou obrazovku) */ | ||||||
|  | 	margin-left: 5%; /* Vystředování (FIXME není potřeba u tabulek, co nejsou na celou obrazovku) */ | ||||||
|  | 
 | ||||||
|  | 	border-collapse: separate; /* Pokud má tabulka orámování, je potřeba ho separovat, aby dodrželo position: sticky; */ | ||||||
|  | 	border-spacing: 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 	/* Uchytí první řádek */ | ||||||
|  | .tabulka_s_uchycenym_radkem_a_sloupcem thead tr { | ||||||
|  | 	position: sticky; | ||||||
|  | 	top: 0; | ||||||
|  | 	z-index: 2; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 	/* Uchytí první sloupec */ | ||||||
|  | .tabulka_s_uchycenym_radkem_a_sloupcem td:first-child, .tabulka_s_uchycenym_radkem_a_sloupcem th:first-child { | ||||||
|  | 	position: sticky; | ||||||
|  | 	left: 0; | ||||||
|  | 	background: inherit; /* (Snad) zneprůhlední první sloupec */ | ||||||
|  | 	z-index: 1; | ||||||
|  | } | ||||||
|  | /*******************************************************/ | ||||||
|  | 
 | ||||||
|  | /** Tabulka mající všechna ohraničení **/ | ||||||
|  | .plne_ohranicena_tabulka { | ||||||
|  | 	border-collapse: collapse; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .plne_ohranicena_tabulka tr th, .plne_ohranicena_tabulka tr td { | ||||||
|  | 	border: 1px solid black; | ||||||
|  | 	padding: 1px 10px 1px 10px; | ||||||
|  | } | ||||||
|  | /***************************************/ | ||||||
|  | 
 | ||||||
|  | /** Výsledkovky **/ | ||||||
|  | .vysledkovka, .tabulka_oramovane_sloupce td:first-child, .vysledkovka, .tabulka_oramovane_sloupce th:first-child { position: unset; } | ||||||
|  | .vysledkovka, .tabulka_oramovane_sloupce td:nth-child(2), .vysledkovka, .tabulka_oramovane_sloupce th:nth-child(2) { | ||||||
|  | 	border-right: solid 1px; | ||||||
|  | 
 | ||||||
|  | 	position: sticky; | ||||||
|  | 	left: 0; | ||||||
|  | 	background: inherit; /* (Snad) zneprůhlední druhý sloupec */ | ||||||
|  | 	z-index: 1; | ||||||
|  | } | ||||||
|  | .vysledkovka, .tabulka_oramovane_sloupce td:nth-child(3), .vysledkovka, .tabulka_oramovane_sloupce th:nth-child(3) { | ||||||
|  | 		border-left: none; | ||||||
|  | } | ||||||
|  | /*****************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** Tabulka mých (řešitelových) řešení **/ | ||||||
|  | .moje_reseni tr th, .moje_reseni tr td { | ||||||
|  | 	text-align: center; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .moje_reseni tr td.problem { text-align: left; } | ||||||
|  | /****************************************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /** Detail řešení **/ | ||||||
|  | .bodovani>input { | ||||||
|  | 	width: 4em; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .bodovani>input::placeholder { | ||||||
|  | 	color: lightgray; | ||||||
|  | 	opacity: 1; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .bodovani>input::-webkit-input-placeholder { /* Edge */ | ||||||
|  | 	color: lightgray; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /*******************/ | ||||||
|  | /*****************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | .novinka .novinka_obrazek { | ||||||
|  | 	margin: 10px 0 10px 0; | ||||||
|  | 	width: 100%; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .novinka .novinka_datum { | ||||||
|  | 	font-weight: bold; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .novinka .novinka_autor { | ||||||
|  | 	text-align: right; | ||||||
|  | 	font-style: italic; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /**** FORMULÁŘE ****/ | ||||||
|  | div.gdpr { | ||||||
|  | 	font-size: 6pt; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | div.gdpr p { | ||||||
|  | 	font-size: 6pt; | ||||||
|  | 	margin-bottom: .66em; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | /*******************/ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | @ -57,7 +57,7 @@ | ||||||
| 	margin-right: auto; | 	margin-right: auto; | ||||||
| 
 | 
 | ||||||
| 	/* This container is needed to position the front and back side */ | 	/* This container is needed to position the front and back side */ | ||||||
| 	.flip-card-inner { | 	& .flip-card-inner { | ||||||
| 		position: relative; | 		position: relative; | ||||||
| 		width: 100%; | 		width: 100%; | ||||||
| 		height: 100%; | 		height: 100%; | ||||||
|  | @ -71,7 +71,7 @@ | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/* Position the front and back side */ | 	/* Position the front and back side */ | ||||||
| 	.flip-card-front, .flip-card-back { | 	& .flip-card-front, & .flip-card-back { | ||||||
| 		position: absolute; | 		position: absolute; | ||||||
| 		width: 100%; | 		width: 100%; | ||||||
| 		height: 100%; | 		height: 100%; | ||||||
|  | @ -79,18 +79,18 @@ | ||||||
| 		backface-visibility: hidden; | 		backface-visibility: hidden; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	div.flip-card-foto, div.flip-card-foto img { | 	& div.flip-card-foto, & div.flip-card-foto img { | ||||||
| 		width: 100%; | 		width: 100%; | ||||||
| 		height: 100%; | 		height: 100%; | ||||||
| 
 | 
 | ||||||
| 		/* Pokud je na přední straně něco proklikávacího (třeba celá fotka), tak na dotykových zařízeních nemůže proklikávat, aby se dalo otáčet */ | 		/* Pokud je na přední straně něco proklikávacího (třeba celá fotka), tak na dotykových zařízeních nemůže proklikávat, aby se dalo otáčet */ | ||||||
| 		@media(hover: none) { | 		@media(hover: none) { | ||||||
| 			a { pointer-events: none; } | 			& a { pointer-events: none; } | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/* Style the back side */ | 	/* Style the back side */ | ||||||
| 	.flip-card-back { | 	& .flip-card-back { | ||||||
| 		transform: rotateY(180deg); | 		transform: rotateY(180deg); | ||||||
| 		padding: 10px; | 		padding: 10px; | ||||||
| 		padding-top: 20px; | 		padding-top: 20px; | ||||||
|  | @ -203,7 +203,7 @@ div.org_email { | ||||||
| .tabulka_oramovane_sloupce { | .tabulka_oramovane_sloupce { | ||||||
| 	border: solid 2px; | 	border: solid 2px; | ||||||
| 
 | 
 | ||||||
| 	td, th { | 	& td, & th { | ||||||
| 		&:first-child, &:first-child { | 		&:first-child, &:first-child { | ||||||
| 			border-left: none; | 			border-left: none; | ||||||
| 			border-right: solid 1px; | 			border-right: solid 1px; | ||||||
|  | @ -217,7 +217,7 @@ div.org_email { | ||||||
| 		border-left: solid 1px; | 		border-left: solid 1px; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	thead { th, td { | 	& thead { & th, & td { | ||||||
| 			border-bottom: solid 1px; | 			border-bottom: solid 1px; | ||||||
| 	} } | 	} } | ||||||
| } | } | ||||||
|  | @ -228,15 +228,15 @@ div.org_email { | ||||||
| /* Skoro jakákoliv tabulka kromě výsledkovek */ | /* Skoro jakákoliv tabulka kromě výsledkovek */ | ||||||
| 
 | 
 | ||||||
| .barevna_tabulka { | .barevna_tabulka { | ||||||
| 	td th { | 	& td th { | ||||||
| 		padding: 1px 10px 1px 10px; | 		padding: 1px 10px 1px 10px; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	tbody tr:nth-child(even), thead tr { | 	& tbody tr:nth-child(even), & thead tr { | ||||||
| 		background: var(--svetlounka-oranzova); | 		background: var(--svetlounka-oranzova); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	tbody tr:nth-child(odd) { | 	& tbody tr:nth-child(odd) { | ||||||
| 		background: var(--barva-pozadi); | 		background: var(--barva-pozadi); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | @ -258,14 +258,14 @@ div.org_email { | ||||||
| 	border-spacing: 0; | 	border-spacing: 0; | ||||||
| 
 | 
 | ||||||
| 	/* Uchytí první řádek */ | 	/* Uchytí první řádek */ | ||||||
| 	thead tr { | 	& thead tr { | ||||||
| 		position: sticky; | 		position: sticky; | ||||||
| 		top: 0; | 		top: 0; | ||||||
| 		z-index: 2; | 		z-index: 2; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	/* Uchytí první sloupec */ | 	/* Uchytí první sloupec */ | ||||||
| 	td, th { &:first-child { | 	& td, & th { &:first-child { | ||||||
| 		position: sticky; | 		position: sticky; | ||||||
| 		left: 0; | 		left: 0; | ||||||
| 		background: inherit; /* (Snad) zneprůhlední první sloupec */ | 		background: inherit; /* (Snad) zneprůhlední první sloupec */ | ||||||
|  | @ -290,7 +290,7 @@ div.org_email { | ||||||
| .plne_ohranicena_tabulka { | .plne_ohranicena_tabulka { | ||||||
| 	border-collapse: collapse; | 	border-collapse: collapse; | ||||||
| 
 | 
 | ||||||
| 	tr { th, td { | 	& tr { & th, & td { | ||||||
| 		border: 1px solid black; | 		border: 1px solid black; | ||||||
| 		padding: 1px 10px 1px 10px; | 		padding: 1px 10px 1px 10px; | ||||||
| 	} } | 	} } | ||||||
|  | @ -305,7 +305,7 @@ div.org_email { | ||||||
| 
 | 
 | ||||||
| /** Výsledkovky **/ | /** Výsledkovky **/ | ||||||
| .vysledkovka, .tabulka_oramovane_sloupce { | .vysledkovka, .tabulka_oramovane_sloupce { | ||||||
| 	td, th { | 	& td, & th { | ||||||
| 		&:first-child { position: unset; } | 		&:first-child { position: unset; } | ||||||
| 
 | 
 | ||||||
| 		&:nth-child(2) { | 		&:nth-child(2) { | ||||||
|  | @ -327,11 +327,11 @@ div.org_email { | ||||||
| 
 | 
 | ||||||
| /** Tabulka mých (řešitelových) řešení **/ | /** Tabulka mých (řešitelových) řešení **/ | ||||||
| .moje_reseni tr { | .moje_reseni tr { | ||||||
| 	th, td { | 	& th, & td { | ||||||
| 		text-align: center; | 		text-align: center; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	td.problem { text-align: left; } | 	& td.problem { text-align: left; } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Různá šířka problému */ | /* Různá šířka problému */ | ||||||
|  | @ -378,16 +378,16 @@ div.org_email { | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| .novinka { | .novinka { | ||||||
| 	.novinka_obrazek { | 	& .novinka_obrazek { | ||||||
| 		margin: 10px 0 10px 0; | 		margin: 10px 0 10px 0; | ||||||
| 		width: 100%; | 		width: 100%; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	.novinka_datum { | 	& .novinka_datum { | ||||||
| 		font-weight: bold; | 		font-weight: bold; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	.novinka_autor { | 	& .novinka_autor { | ||||||
| 		text-align: right; | 		text-align: right; | ||||||
| 		font-style: italic; | 		font-style: italic; | ||||||
| 	} | 	} | ||||||
|  | @ -413,7 +413,6 @@ table#reseni.form td,  table#reseni.form tr { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media(max-width: 800px) { | @media(max-width: 800px) { | ||||||
| 
 |  | ||||||
| 	table#reseni.form td, table#reseni.form tr { | 	table#reseni.form td, table#reseni.form tr { | ||||||
| 		display: inline-grid; | 		display: inline-grid; | ||||||
| 		max-width: 300px; | 		max-width: 300px; | ||||||
|  | @ -473,7 +472,7 @@ ul.form li{ | ||||||
| div.gdpr { | div.gdpr { | ||||||
| 	font-size: 6pt; | 	font-size: 6pt; | ||||||
| 
 | 
 | ||||||
| 	p { | 	& p { | ||||||
| 		font-size: 6pt; | 		font-size: 6pt; | ||||||
| 		margin-bottom: .66em; | 		margin-bottom: .66em; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								mamweb/static/fonts/ghoul/ghoul.ttf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mamweb/static/fonts/ghoul/ghoul.ttf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -78,3 +78,16 @@ | ||||||
|     walkText(document.body); |     walkText(document.body); | ||||||
|   </script> |   </script> | ||||||
| {% endif %} | {% endif %} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | {% if halloween == 2024 %} | ||||||
|  |   <script> | ||||||
|  |     function printHalloween() { | ||||||
|  |       console.log("Halloween 2024"); | ||||||
|  |       body = document.getElementsByTagName('body')[0]; | ||||||
|  |       body.style.fontFamily = 'GhoulFace'; | ||||||
|  |     } | ||||||
|  |     window.onload = printHalloween; | ||||||
|  |   </script> | ||||||
|  | {% endif %} | ||||||
|  |  | ||||||
|  | @ -8,11 +8,12 @@ | ||||||
|     <meta name="viewport" content="width=device-width, initial-scale=1.0"> |     <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||||||
|     <link rel="shortcut icon" href="{% static 'images/MATFYZ_MM_barevne.svg' %}" type="image/x-icon"> |     <link rel="shortcut icon" href="{% static 'images/MATFYZ_MM_barevne.svg' %}" type="image/x-icon"> | ||||||
|     {% block custom_css %}{% endblock %} |     {% block custom_css %}{% endblock %} | ||||||
|     <link href="{% static 'bootstrap/css/bootstrap.css' %}?version=2" rel="stylesheet"> |     <link href="{% static 'bootstrap/css/bootstrap.css' %}?version=3" rel="stylesheet"> | ||||||
|     <link href="{% static 'css/constants.css' %}?version=2" rel="stylesheet"> |     <link href="{% static 'css/constants.css' %}?version=3" rel="stylesheet"> | ||||||
|     <link href="{% static 'css/base.css' %}?version=2" rel="stylesheet"> |     <link href="{% static 'css/mamweb_legacy.css' %}?version=3" rel="stylesheet"> | ||||||
|     <link href="{% static 'css/layout.css' %}?version=2" rel="stylesheet"> |     <link href="{% static 'css/base.css' %}?version=3" rel="stylesheet"> | ||||||
|     <link href="{% static 'css/modules.css' %}?version=2" rel="stylesheet"> |     <link href="{% static 'css/layout.css' %}?version=3" rel="stylesheet"> | ||||||
|  |     <link href="{% static 'css/modules.css' %}?version=3" rel="stylesheet"> | ||||||
|     <script src="{% static 'js/jquery-1.11.1.js' %}"></script> |     <script src="{% static 'js/jquery-1.11.1.js' %}"></script> | ||||||
|     <script src="{% static 'js/jquery-3.4.1.js' %}"></script> |     <script src="{% static 'js/jquery-3.4.1.js' %}"></script> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										18
									
								
								novinky/migrations/0004_alter_novinky_id.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								novinky/migrations/0004_alter_novinky_id.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,18 @@ | ||||||
|  | # Generated by Django 4.2.16 on 2024-10-23 10:22 | ||||||
|  | 
 | ||||||
|  | from django.db import migrations, models | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Migration(migrations.Migration): | ||||||
|  | 
 | ||||||
|  |     dependencies = [ | ||||||
|  |         ('novinky', '0003_novinky_post'), | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     operations = [ | ||||||
|  |         migrations.AlterField( | ||||||
|  |             model_name='novinky', | ||||||
|  |             name='id', | ||||||
|  |             field=models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID'), | ||||||
|  |         ), | ||||||
|  |     ] | ||||||
|  | @ -15,6 +15,19 @@ def april(req): | ||||||
| 		return {'april': today.year} | 		return {'april': today.year} | ||||||
| 	return {} | 	return {} | ||||||
| 
 | 
 | ||||||
|  | def halloween(req): | ||||||
|  | 	if 'X-Halloween' in req.headers: | ||||||
|  | 		try: | ||||||
|  | 			year = int(req.headers['X-Halloween']) | ||||||
|  | 			return {'halloween': year} | ||||||
|  | 		except: | ||||||
|  | 			pass # Fall-back to regular behaviour | ||||||
|  | 	 | ||||||
|  | 	import datetime | ||||||
|  | 	today = datetime.date.today() | ||||||
|  | 	if today.month == 10 and today.day >= 25: | ||||||
|  | 		return {'halloween': today.year} | ||||||
|  | 	return {} | ||||||
| 
 | 
 | ||||||
| def rozliseni(request): | def rozliseni(request): | ||||||
| 	ltp = settings.LOCAL_TEST_PROD | 	ltp = settings.LOCAL_TEST_PROD | ||||||
|  |  | ||||||
|  | @ -13,7 +13,7 @@ from django.urls import reverse | ||||||
| 
 | 
 | ||||||
| # Interní, nemá se nikdy objevit v urls (jinak to účastníci vytrolí) | # Interní, nemá se nikdy objevit v urls (jinak to účastníci vytrolí) | ||||||
| def formularOKView(request, text='', dalsi_odkazy: Sequence[tuple[str, str]] = ()): | def formularOKView(request, text='', dalsi_odkazy: Sequence[tuple[str, str]] = ()): | ||||||
| 	template_name = 'seminar/formular_ok.html' | 	template_name = 'various/formular_ok.html' | ||||||
| 	odkazy = list(dalsi_odkazy) + [ | 	odkazy = list(dalsi_odkazy) + [ | ||||||
| 		# (Text, odkaz) | 		# (Text, odkaz) | ||||||
| 		('Vrátit se na titulní stránku', reverse('titulni_strana')), | 		('Vrátit se na titulní stránku', reverse('titulni_strana')), | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue