Odstrel Modelu Odevzdavatko #64
15 changed files with 905 additions and 81 deletions
|
@ -25,12 +25,13 @@ class KorekturovanePDFAdmin(VersionAdmin):
|
|||
fieldsets = [
|
||||
(None,
|
||||
{'fields':
|
||||
['pdf', 'cas', 'org', 'stran', 'nazev', 'komentar', 'poslat_mail']}),
|
||||
['pdf', 'cas', 'stran', 'nazev', 'orgove', 'komentar', 'poslat_mail']}),
|
||||
# (u'PDF', {'fields': ['pdf']}),
|
||||
]
|
||||
list_display = ['nazev', 'cas', 'stran', 'org']
|
||||
list_display = ['nazev', 'cas', 'stran']
|
||||
list_filter = []
|
||||
search_fields = []
|
||||
autocomplete_fields = ['orgove']
|
||||
|
||||
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)
|
||||
return os.path.join(settings.KOREKTURY_PDF_DIR, fname)
|
||||
|
||||
|
||||
#@reversion.register(ignore_duplicates=True)
|
||||
class KorekturovanePDF(models.Model):
|
||||
class Meta:
|
||||
|
@ -46,9 +45,9 @@ class KorekturovanePDF(models.Model):
|
|||
|
||||
pdf = models.FileField(u'PDF', upload_to = generate_filename)
|
||||
|
||||
org = models.ForeignKey(Organizator, blank=True,
|
||||
help_text='Zodpovědný organizátor za obsah',
|
||||
null=True, default=None, on_delete=models.SET_NULL)
|
||||
orgove = models.ManyToManyField(Organizator, blank=True,
|
||||
help_text='Zodpovědní organizátoři za obsah (chodí jim maily o nových korekturách)',
|
||||
default=None)
|
||||
|
||||
stran = models.IntegerField(u'počet stran', help_text='Počet stran PDF',
|
||||
default=0)
|
||||
|
|
|
@ -183,9 +183,9 @@ class KorekturyView(generic.TemplateView):
|
|||
if email_komentujiciho:
|
||||
emails.add(email_komentujiciho)
|
||||
|
||||
# zodpovedny org
|
||||
if oprava.pdf.org:
|
||||
email_zobpovedny = oprava.pdf.org.osoba.email
|
||||
# zodpovedni orgove
|
||||
for org in oprava.pdf.orgove.all():
|
||||
email_zobpovedny = org.osoba.email
|
||||
if email_zobpovedny:
|
||||
emails.add(email_zobpovedny)
|
||||
|
||||
|
|
|
@ -87,6 +87,7 @@ TEMPLATES = [
|
|||
'header_fotky.context_processors.vzhled',
|
||||
'various.context_processors.rozliseni',
|
||||
'various.context_processors.april',
|
||||
'various.context_processors.halloween',
|
||||
)
|
||||
},
|
||||
},
|
||||
|
|
|
@ -8,6 +8,13 @@
|
|||
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 {
|
||||
font-size: 14px;
|
||||
font-family: 'OpenSans';
|
||||
|
|
|
@ -19,10 +19,10 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */
|
|||
margin-top: var(--login-bar-height);
|
||||
}
|
||||
|
||||
div.kontent-wrapper {
|
||||
& div.kontent-wrapper {
|
||||
padding-bottom: var(--footer-height);
|
||||
|
||||
div.kontent {
|
||||
& div.kontent {
|
||||
padding: 15px 30px;
|
||||
}
|
||||
}
|
||||
|
@ -67,16 +67,16 @@ div.kontejner {/* Ne container, aby se to netlouklo s bootstrapem. */
|
|||
background-size: 100%;
|
||||
top: 58px;
|
||||
|
||||
img.logo {
|
||||
& img.logo {
|
||||
width: 100%;
|
||||
filter: drop-shadow(0px 5px 5px rgba(0, 0, 0, 0.4));
|
||||
}
|
||||
|
||||
img.logo-mobile {
|
||||
& img.logo-mobile {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.no-mobile {
|
||||
& .no-mobile {
|
||||
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));
|
||||
padding-top: 3.5%;
|
||||
|
||||
p.license {
|
||||
& p.license {
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
bottom: 0;
|
||||
|
||||
a {
|
||||
& a {
|
||||
color: #333;
|
||||
}
|
||||
}
|
||||
|
@ -139,21 +139,21 @@ div.login-bar {
|
|||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
|
||||
div {
|
||||
& div {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
a.LOGIN-ref-admin {
|
||||
& a.LOGIN-ref-admin {
|
||||
display: inline;
|
||||
color: var(--barva-pozadi);
|
||||
}
|
||||
|
||||
.LOGIN_napis-webarum {
|
||||
& .LOGIN_napis-webarum {
|
||||
display: inline;
|
||||
color: var(--barva-pozadi);
|
||||
float: right;
|
||||
|
||||
a {
|
||||
& a {
|
||||
color: var(--svetla-oranzova);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ div.login-bar {
|
|||
#header {
|
||||
background-size: 100%;
|
||||
|
||||
img.logo {
|
||||
& img.logo {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
@ -202,11 +202,11 @@ div.login-bar {
|
|||
top: 0;
|
||||
background-image: none;
|
||||
|
||||
img.logo {
|
||||
& img.logo {
|
||||
display: none;
|
||||
}
|
||||
|
||||
img.logo-mobile {
|
||||
& img.logo-mobile {
|
||||
display: block;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
@ -215,7 +215,7 @@ div.login-bar {
|
|||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
.no-mobile{
|
||||
& .no-mobile{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
@ -241,13 +241,13 @@ ul.menu {
|
|||
|
||||
font-variant: small-caps;
|
||||
|
||||
a {
|
||||
& a {
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
font-size: 105%;
|
||||
}
|
||||
|
||||
li {
|
||||
& li {
|
||||
margin: 0;
|
||||
display: inline-block;
|
||||
width: 16.666667%;
|
||||
|
@ -256,7 +256,7 @@ ul.menu {
|
|||
font-size: 140%;
|
||||
font-weight: 400;
|
||||
|
||||
>a:hover, >a:active {
|
||||
&>a:hover, &>a:active {
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
@ -265,7 +265,7 @@ ul.menu {
|
|||
}
|
||||
}
|
||||
|
||||
ul.submenu {
|
||||
& ul.submenu {
|
||||
|
||||
background-color: var(--hlavni-oranzova);
|
||||
margin-top: 10px; /* mezera mezi hlavním menu a submenu */
|
||||
|
@ -277,24 +277,24 @@ ul.menu {
|
|||
z-index: 50;
|
||||
font-weight: 400;
|
||||
|
||||
li {
|
||||
& li {
|
||||
width: auto;
|
||||
padding: 0 20px 0 20px;
|
||||
display: inline-block;
|
||||
|
||||
>a {
|
||||
&>a {
|
||||
color: var(--svetla-oranzova);
|
||||
text-decoration: none;
|
||||
text-shadow: none;
|
||||
|
||||
:hover {
|
||||
&:hover {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
@ -304,7 +304,7 @@ ul.menu {
|
|||
font-size: 90%;
|
||||
margin-top: -7px;
|
||||
|
||||
li {
|
||||
& li {
|
||||
margin-top: 10px; /* posunutí textu hlavního menu níže */
|
||||
}
|
||||
}
|
||||
|
@ -312,7 +312,7 @@ ul.menu {
|
|||
ul.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 */
|
||||
}
|
||||
}
|
||||
|
@ -323,7 +323,7 @@ ul.menu {
|
|||
font-size: 80%;
|
||||
margin-top: -2px;
|
||||
|
||||
li {
|
||||
& li {
|
||||
margin-top: 10px; /* posunutí textu hlavního menu níže */
|
||||
}
|
||||
}
|
||||
|
@ -331,7 +331,7 @@ ul.menu {
|
|||
ul.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 */
|
||||
}
|
||||
}
|
||||
|
@ -354,20 +354,20 @@ ul.menu {
|
|||
padding-bottom: 3px;
|
||||
padding-left: 12px;
|
||||
|
||||
a {
|
||||
& a {
|
||||
&:active, &:hover, &:focus {
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
& ul {
|
||||
list-style-type: none;
|
||||
font-size: 90%;
|
||||
color: black; /*černé šipky submenu*/
|
||||
|
||||
li {
|
||||
> a {
|
||||
& li {
|
||||
&>a {
|
||||
color: black;
|
||||
}
|
||||
|
||||
|
@ -377,7 +377,7 @@ ul.menu {
|
|||
}
|
||||
}
|
||||
|
||||
br {
|
||||
& br {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
@ -459,13 +459,13 @@ body.suprodweb { &:before, &:after { background: red; } }
|
|||
display: block;
|
||||
}
|
||||
|
||||
h1 { text-align: center; }
|
||||
& h1 { text-align: center; }
|
||||
|
||||
.TITULNI_STRANA_zjistit_vic{
|
||||
& .TITULNI_STRANA_zjistit_vic{
|
||||
text-align: center;
|
||||
margin-bottom: 30px;
|
||||
|
||||
hr {
|
||||
& hr {
|
||||
display: none;
|
||||
|
||||
@media(max-width: 800px){
|
||||
|
@ -474,15 +474,15 @@ body.suprodweb { &:before, &:after { background: red; } }
|
|||
}
|
||||
}
|
||||
|
||||
.TITULNI_STRANA_graf {
|
||||
& .TITULNI_STRANA_graf {
|
||||
@media(max-width: 800px) {
|
||||
padding-top: 40px;
|
||||
}
|
||||
|
||||
.TITULNI_STRANA_graf-svg {
|
||||
& .TITULNI_STRANA_graf-svg {
|
||||
display: flex;
|
||||
|
||||
#svg-graf {
|
||||
& #svg-graf {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin: 30px;
|
||||
|
@ -496,7 +496,7 @@ body.suprodweb { &:before, &:after { background: red; } }
|
|||
}
|
||||
}
|
||||
|
||||
.TITULNI_STRANA_obsah {
|
||||
& .TITULNI_STRANA_obsah {
|
||||
width: 66%;
|
||||
|
||||
@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%;
|
||||
padding: 10px;
|
||||
display: table-cell;
|
||||
|
@ -515,7 +515,7 @@ body.suprodweb { &:before, &:after { background: red; } }
|
|||
}
|
||||
}
|
||||
|
||||
.TITULNI_STRANA_novinky {
|
||||
& .TITULNI_STRANA_novinky {
|
||||
width: 33%;
|
||||
padding: 10px;
|
||||
|
||||
|
@ -540,11 +540,11 @@ div.odpocet {
|
|||
.stranka_aktualni_zadani {
|
||||
text-align: center;
|
||||
|
||||
#AKTUALNI_ZADADNI_obrazek {
|
||||
& #AKTUALNI_ZADADNI_obrazek {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
div.AKTUALNI_ZADANI_termin {
|
||||
& div.AKTUALNI_ZADANI_termin {
|
||||
text-align: center;
|
||||
font-size: large;
|
||||
font-weight: bold;
|
||||
|
@ -553,7 +553,7 @@ div.odpocet {
|
|||
font-size: small;
|
||||
}
|
||||
|
||||
.AKTUALNI_ZADANI_datum {
|
||||
& .AKTUALNI_ZADANI_datum {
|
||||
color: var(--hlavni-oranzova);
|
||||
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;
|
||||
|
||||
/* This container is needed to position the front and back side */
|
||||
.flip-card-inner {
|
||||
& .flip-card-inner {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
@ -71,7 +71,7 @@
|
|||
}
|
||||
|
||||
/* Position the front and back side */
|
||||
.flip-card-front, .flip-card-back {
|
||||
& .flip-card-front, & .flip-card-back {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
@ -79,18 +79,18 @@
|
|||
backface-visibility: hidden;
|
||||
}
|
||||
|
||||
div.flip-card-foto, div.flip-card-foto img {
|
||||
& 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) {
|
||||
a { pointer-events: none; }
|
||||
& a { pointer-events: none; }
|
||||
}
|
||||
}
|
||||
|
||||
/* Style the back side */
|
||||
.flip-card-back {
|
||||
& .flip-card-back {
|
||||
transform: rotateY(180deg);
|
||||
padding: 10px;
|
||||
padding-top: 20px;
|
||||
|
@ -203,7 +203,7 @@ div.org_email {
|
|||
.tabulka_oramovane_sloupce {
|
||||
border: solid 2px;
|
||||
|
||||
td, th {
|
||||
& td, & th {
|
||||
&:first-child, &:first-child {
|
||||
border-left: none;
|
||||
border-right: solid 1px;
|
||||
|
@ -217,7 +217,7 @@ div.org_email {
|
|||
border-left: solid 1px;
|
||||
}
|
||||
|
||||
thead { th, td {
|
||||
& thead { & th, & td {
|
||||
border-bottom: solid 1px;
|
||||
} }
|
||||
}
|
||||
|
@ -228,15 +228,15 @@ div.org_email {
|
|||
/* Skoro jakákoliv tabulka kromě výsledkovek */
|
||||
|
||||
.barevna_tabulka {
|
||||
td th {
|
||||
& td th {
|
||||
padding: 1px 10px 1px 10px;
|
||||
}
|
||||
|
||||
tbody tr:nth-child(even), thead tr {
|
||||
& tbody tr:nth-child(even), & thead tr {
|
||||
background: var(--svetlounka-oranzova);
|
||||
}
|
||||
|
||||
tbody tr:nth-child(odd) {
|
||||
& tbody tr:nth-child(odd) {
|
||||
background: var(--barva-pozadi);
|
||||
}
|
||||
}
|
||||
|
@ -258,14 +258,14 @@ div.org_email {
|
|||
border-spacing: 0;
|
||||
|
||||
/* Uchytí první řádek */
|
||||
thead tr {
|
||||
& thead tr {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
/* Uchytí první sloupec */
|
||||
td, th { &:first-child {
|
||||
& td, & th { &:first-child {
|
||||
position: sticky;
|
||||
left: 0;
|
||||
background: inherit; /* (Snad) zneprůhlední první sloupec */
|
||||
|
@ -290,7 +290,7 @@ div.org_email {
|
|||
.plne_ohranicena_tabulka {
|
||||
border-collapse: collapse;
|
||||
|
||||
tr { th, td {
|
||||
& tr { & th, & td {
|
||||
border: 1px solid black;
|
||||
padding: 1px 10px 1px 10px;
|
||||
} }
|
||||
|
@ -305,7 +305,7 @@ div.org_email {
|
|||
|
||||
/** Výsledkovky **/
|
||||
.vysledkovka, .tabulka_oramovane_sloupce {
|
||||
td, th {
|
||||
& td, & th {
|
||||
&:first-child { position: unset; }
|
||||
|
||||
&:nth-child(2) {
|
||||
|
@ -327,11 +327,11 @@ div.org_email {
|
|||
|
||||
/** Tabulka mých (řešitelových) řešení **/
|
||||
.moje_reseni tr {
|
||||
th, td {
|
||||
& th, & td {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
td.problem { text-align: left; }
|
||||
& td.problem { text-align: left; }
|
||||
}
|
||||
|
||||
/* Různá šířka problému */
|
||||
|
@ -378,16 +378,16 @@ div.org_email {
|
|||
|
||||
|
||||
.novinka {
|
||||
.novinka_obrazek {
|
||||
& .novinka_obrazek {
|
||||
margin: 10px 0 10px 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.novinka_datum {
|
||||
& .novinka_datum {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.novinka_autor {
|
||||
& .novinka_autor {
|
||||
text-align: right;
|
||||
font-style: italic;
|
||||
}
|
||||
|
@ -413,7 +413,6 @@ table#reseni.form td, table#reseni.form tr {
|
|||
}
|
||||
|
||||
@media(max-width: 800px) {
|
||||
|
||||
table#reseni.form td, table#reseni.form tr {
|
||||
display: inline-grid;
|
||||
max-width: 300px;
|
||||
|
@ -473,7 +472,7 @@ ul.form li{
|
|||
div.gdpr {
|
||||
font-size: 6pt;
|
||||
|
||||
p {
|
||||
& p {
|
||||
font-size: 6pt;
|
||||
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);
|
||||
</script>
|
||||
{% 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">
|
||||
<link rel="shortcut icon" href="{% static 'images/MATFYZ_MM_barevne.svg' %}" type="image/x-icon">
|
||||
{% block custom_css %}{% endblock %}
|
||||
<link href="{% static 'bootstrap/css/bootstrap.css' %}?version=2" rel="stylesheet">
|
||||
<link href="{% static 'css/constants.css' %}?version=2" rel="stylesheet">
|
||||
<link href="{% static 'css/base.css' %}?version=2" rel="stylesheet">
|
||||
<link href="{% static 'css/layout.css' %}?version=2" rel="stylesheet">
|
||||
<link href="{% static 'css/modules.css' %}?version=2" rel="stylesheet">
|
||||
<link href="{% static 'bootstrap/css/bootstrap.css' %}?version=3" rel="stylesheet">
|
||||
<link href="{% static 'css/constants.css' %}?version=3" rel="stylesheet">
|
||||
<link href="{% static 'css/mamweb_legacy.css' %}?version=3" rel="stylesheet">
|
||||
<link href="{% static 'css/base.css' %}?version=3" 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-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 {}
|
||||
|
||||
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):
|
||||
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í)
|
||||
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) + [
|
||||
# (Text, odkaz)
|
||||
('Vrátit se na titulní stránku', reverse('titulni_strana')),
|
||||
|
|
Loading…
Reference in a new issue