@ -0,0 +1,187 @@ |
|||
Jak zvládnout migrace na nový model: |
|||
|
|||
- V mojí verzi databáze mají úlohy-Problémy typ "b'uloha'" |
|||
|
|||
|
|||
Log migrace na nový model: |
|||
|
|||
Operations to perform: |
|||
Apply all migrations: admin, auth, contenttypes, django_comments, flatpages, fluent_comments, galerie, korektury, prednasky, reversion, seminar, sessions, sites, sitetree, taggit, threadedcomments |
|||
Running migrations: |
|||
Applying admin.0003_logentry_add_action_flag_choices... OK |
|||
Applying auth.0009_alter_user_last_name_max_length... OK |
|||
Applying auth.0010_alter_group_name_max_length... OK |
|||
Applying auth.0011_update_proxy_permissions... OK |
|||
Applying galerie.0008_auto_20190430_2340... OK |
|||
Applying galerie.0009_auto_20190610_2358... OK |
|||
Applying galerie.0010_auto_20200819_0947... OK |
|||
Applying korektury.0016_auto_20190430_2340... OK |
|||
Applying korektury.0017_auto_20190610_2358... OK |
|||
Applying prednasky.0011_auto_20190430_2340... OK |
|||
Applying prednasky.0012_auto_20190610_2358... OK |
|||
Applying seminar.0049_auto_20190430_2354... OK |
|||
Applying seminar.0050_auto_20190510_2228... OK |
|||
Applying seminar.0051_resitel_to_osoba... OK |
|||
Applying seminar.0052_user_to_organizator... OK |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2004-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (1998-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2017-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2017-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2014-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2011-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2013-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2004-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2013-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2012-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2007-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2011-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2009-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2009-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2008-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2005-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2015-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2001-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2010-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2008-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2006-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2002-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2005-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (1999-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2003-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2000-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2002-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2001-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (1996-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2000-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (1999-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (1996-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (1994-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2012-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2016-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2018-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2014-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2019-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2006-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (1995-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_do received a naive datetime (2007-12-31 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2015-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2016-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2018-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2019-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
/aux/akce/mam/www/mamweb-test/env/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1427: RuntimeWarning: DateTimeField Organizator.organizuje_od received a naive datetime (2020-01-01 00:00:00) while time zone support is active. |
|||
RuntimeWarning) |
|||
Applying seminar.0053_organizator_organizuje_od_do... OK |
|||
Applying seminar.0055_smazat_nemigrovane_zastarale_veci... OK |
|||
Applying seminar.0056_vrcholy_pro_rocniky_a_cisla... OK |
|||
Applying seminar.0057_reseni_to_reseni_hodnoceni...!!!!!!!!!!!!!!! |
|||
31397 Reseni object (31397) |
|||
!!!!!!!!!!!!!!! |
|||
!!!!!!!!!!!!!!! |
|||
31396 Reseni object (31396) |
|||
!!!!!!!!!!!!!!! |
|||
!!!!!!!!!!!!!!! |
|||
31395 Reseni object (31395) |
|||
!!!!!!!!!!!!!!! |
|||
!!!!!!!!!!!!!!! |
|||
31394 Reseni object (31394) |
|||
!!!!!!!!!!!!!!! |
|||
!!!!!!!!!!!!!!! |
|||
31393 Reseni object (31393) |
|||
!!!!!!!!!!!!!!! |
|||
OK |
|||
Applying seminar.0058_problem_to_uloha_tema_clanek... OK |
|||
Applying seminar.fix_0058... OK |
|||
Applying seminar.0059_vytvorit_pohadkanode... OK |
|||
Applying seminar.0060_spoj_stromy... OK |
|||
Applying seminar.0061_kill_frankenstein... OK |
|||
Applying seminar.0062_redukce_modelu_pohadky... OK |
|||
Applying seminar.0063_procisteni_migraci... OK |
|||
Applying seminar.0064_auto_20190610_2358... OK |
|||
Applying seminar.0065_treenode_polymorphic_ctype... OK |
|||
Applying seminar.0066_problem_polymorphic_ctype... OK |
|||
Applying seminar.0067_auto_20190814_0805... OK |
|||
Applying seminar.0068_treenode_nazev... OK |
|||
Applying seminar.0069_auto_20191120_2115... OK |
|||
Applying seminar.0070_auto_20191120_2357... OK |
|||
Applying seminar.0071_remove_nastaveni_aktualni_rocnik... OK |
|||
Applying seminar.0072_auto_20191204_2257... OK |
|||
Applying seminar.0073_copy_osoba_email_to_user_email... OK |
|||
Applying seminar.0074_auto_20200228_1401... OK |
|||
Applying seminar.0075_auto_20200228_2010... OK |
|||
Applying seminar.0076_auto_20200228_2013... OK |
|||
Applying seminar.0077_auto_20200318_2146... OK |
|||
Applying seminar.0078_otistenereseninode... OK |
|||
Applying seminar.0079_clanek_resitelsky... OK |
|||
Applying seminar.0080_zruseni_claneknode_a_konferanode... OK |
|||
Applying seminar.0081_auto_20200408_2221... OK |
|||
Applying seminar.0082_auto_20200506_1951... OK |
|||
Applying seminar.0083_auto_20200506_1952... OK |
|||
WARNING 2020-08-20 00:49:07,941 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2215) |
|||
WARNING 2020-08-20 00:49:07,953 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2221) |
|||
WARNING 2020-08-20 00:49:07,959 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2212) |
|||
WARNING 2020-08-20 00:49:07,965 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (1955) |
|||
WARNING 2020-08-20 00:49:07,968 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2027) |
|||
WARNING 2020-08-20 00:49:07,971 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (1981) |
|||
WARNING 2020-08-20 00:49:07,974 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (1970) |
|||
WARNING 2020-08-20 00:49:07,978 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2001) |
|||
WARNING 2020-08-20 00:49:07,981 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2004) |
|||
WARNING 2020-08-20 00:49:07,984 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (1941) |
|||
WARNING 2020-08-20 00:49:07,990 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2024) |
|||
WARNING 2020-08-20 00:49:07,993 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2031) |
|||
WARNING 2020-08-20 00:49:07,997 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2211) |
|||
WARNING 2020-08-20 00:49:08,005 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2073) |
|||
WARNING 2020-08-20 00:49:08,017 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2018) |
|||
WARNING 2020-08-20 00:49:08,022 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2222) |
|||
WARNING 2020-08-20 00:49:08,028 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (1953) |
|||
WARNING 2020-08-20 00:49:08,034 0084_clanek_cislo: Více než jedno řešení pro článek Clanek object (2026) |
|||
Applying seminar.0084_clanek_cislo... OK |
|||
Applying seminar.0085_nepovinna_prezdivka... OK |
|||
Applying seminar.0086_auto_20200819_0959... OK |
|||
Applying sitetree.0001_initial... OK |
|||
Applying taggit.0003_taggeditem_add_unique_index... OK |
|||
|
@ -0,0 +1,207 @@ |
|||
[ |
|||
{ |
|||
"model": "header_fotky.fotkaheader", |
|||
"pk": "baliky.jpg", |
|||
"fields": { |
|||
"cas": "2020-09-20T09:18:34.562Z", |
|||
"fotka": "header/baliky.jpg" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaheader", |
|||
"pk": "beh.jpg", |
|||
"fields": { |
|||
"cas": "2020-09-20T09:18:34.562Z", |
|||
"fotka": "header/beh.jpg" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaheader", |
|||
"pk": "kryptografie.jpg", |
|||
"fields": { |
|||
"cas": "2020-09-20T09:18:34.562Z", |
|||
"fotka": "header/kryptografie.jpg" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaheader", |
|||
"pk": "mam_cernobile.jpg", |
|||
"fields": { |
|||
"cas": "2020-09-20T09:18:34.562Z", |
|||
"fotka": "header/mam_cernobile.jpg" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaheader", |
|||
"pk": "noc.jpg", |
|||
"fields": { |
|||
"cas": "2020-09-20T09:18:34.562Z", |
|||
"fotka": "header/noc.jpg" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaheader", |
|||
"pk": "ohen.jpg", |
|||
"fields": { |
|||
"cas": "2020-09-20T09:18:34.562Z", |
|||
"fotka": "header/ohen.jpg" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaheader", |
|||
"pk": "snih.jpg", |
|||
"fields": { |
|||
"cas": "2020-09-20T09:18:34.562Z", |
|||
"fotka": "header/snih.jpg" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaheader", |
|||
"pk": "spolecna.jpg", |
|||
"fields": { |
|||
"cas": "2020-09-20T09:18:34.562Z", |
|||
"fotka": "header/spolecna.jpg" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaheader", |
|||
"pk": "stiny.jpg", |
|||
"fields": { |
|||
"cas": "2020-09-20T09:18:34.562Z", |
|||
"fotka": "header/stiny.jpg" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaheader", |
|||
"pk": "vikendovka.jpg", |
|||
"fields": { |
|||
"cas": "2020-09-20T09:18:34.562Z", |
|||
"fotka": "header/vikendovka.jpg" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaheader", |
|||
"pk": "vylet.jpg", |
|||
"fields": { |
|||
"cas": "2020-09-20T09:18:34.562Z", |
|||
"fotka": "header/vylet.jpg" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 1, |
|||
"fields": { |
|||
"url": "/archiv/", |
|||
"fotka": "stiny.jpg", |
|||
"denni_doba": "oboji" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 2, |
|||
"fields": { |
|||
"url": "/clanky/", |
|||
"fotka": "kryptografie.jpg", |
|||
"denni_doba": "den" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 3, |
|||
"fields": { |
|||
"url": "/clanky/", |
|||
"fotka": "ohen.jpg", |
|||
"denni_doba": "noc" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 4, |
|||
"fields": { |
|||
"url": "/zadani/", |
|||
"fotka": "baliky.jpg", |
|||
"denni_doba": "den" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 5, |
|||
"fields": { |
|||
"url": "/zadani/", |
|||
"fotka": "stiny.jpg", |
|||
"denni_doba": "noc" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 6, |
|||
"fields": { |
|||
"url": "/co-je-MaM/", |
|||
"fotka": "vikendovka.jpg", |
|||
"denni_doba": "den" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 7, |
|||
"fields": { |
|||
"url": "/co-je-MaM/", |
|||
"fotka": "noc.jpg", |
|||
"denni_doba": "noc" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 8, |
|||
"fields": { |
|||
"url": "/soustredeni/", |
|||
"fotka": "beh.jpg", |
|||
"denni_doba": "den" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 9, |
|||
"fields": { |
|||
"url": "/soustredeni/", |
|||
"fotka": "vylet.jpg", |
|||
"denni_doba": "noc" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 10, |
|||
"fields": { |
|||
"url": "/login/", |
|||
"fotka": "baliky.jpg", |
|||
"denni_doba": "den" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 11, |
|||
"fields": { |
|||
"url": "/login/", |
|||
"fotka": "stiny.jpg", |
|||
"denni_doba": "noc" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 12, |
|||
"fields": { |
|||
"url": "/profil/", |
|||
"fotka": "baliky.jpg", |
|||
"denni_doba": "den" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "header_fotky.fotkaurlvazba", |
|||
"pk": 13, |
|||
"fields": { |
|||
"url": "/profil/", |
|||
"fotka": "stiny.jpg", |
|||
"denni_doba": "noc" |
|||
} |
|||
} |
|||
] |
@ -0,0 +1,782 @@ |
|||
[ |
|||
{ |
|||
"model":"sitetree.tree", |
|||
"fields":{ |
|||
"title":"Hlavní menu", |
|||
"alias":"main_menu" |
|||
}, |
|||
"pk":1 |
|||
}, |
|||
{ |
|||
"pk":1, |
|||
"fields":{ |
|||
"parent":null, |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"description":"", |
|||
"urlaspattern":false, |
|||
"title":"Co je M&M", |
|||
"access_guest":false, |
|||
"alias":null, |
|||
"url":"/co-je-MaM/uvod/", |
|||
"inmenu":true, |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"hint":"", |
|||
"sort_order":1, |
|||
"access_loggedin":false, |
|||
"inbreadcrumbs":true, |
|||
"access_restricted":false, |
|||
"hidden":false |
|||
}, |
|||
"model":"sitetree.treeitem" |
|||
}, |
|||
{ |
|||
"pk":2, |
|||
"fields":{ |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"url":"/jak-resit/", |
|||
"inmenu":true, |
|||
"alias":null, |
|||
"hint":"", |
|||
"access_loggedin":false, |
|||
"sort_order":2, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"inbreadcrumbs":true, |
|||
"parent":null, |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"access_guest":false, |
|||
"title":"Jak řešit", |
|||
"urlaspattern":false, |
|||
"description":"" |
|||
}, |
|||
"model":"sitetree.treeitem" |
|||
}, |
|||
{ |
|||
"pk":3, |
|||
"fields":{ |
|||
"access_loggedin":false, |
|||
"sort_order":3, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"inbreadcrumbs":true, |
|||
"inmenu":true, |
|||
"url":"/zadani/aktualni/", |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"alias":null, |
|||
"hint":"", |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"urlaspattern":false, |
|||
"title":"Aktuální<br/> ročník", |
|||
"access_guest":false, |
|||
"description":"", |
|||
"parent":null |
|||
}, |
|||
"model":"sitetree.treeitem" |
|||
}, |
|||
{ |
|||
"fields":{ |
|||
"hint":"", |
|||
"alias":null, |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"inmenu":true, |
|||
"url":"/soustredeni/", |
|||
"inbreadcrumbs":true, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"access_loggedin":false, |
|||
"sort_order":4, |
|||
"parent":null, |
|||
"description":"", |
|||
"access_guest":false, |
|||
"title":"Soustředění", |
|||
"urlaspattern":false, |
|||
"tree":1, |
|||
"insitetree":true |
|||
}, |
|||
"model":"sitetree.treeitem", |
|||
"pk":4 |
|||
}, |
|||
{ |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"parent":null, |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"description":"", |
|||
"urlaspattern":false, |
|||
"title":"Archiv", |
|||
"access_guest":false, |
|||
"alias":null, |
|||
"inmenu":true, |
|||
"url":"/archiv/rocniky/", |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"hint":"", |
|||
"sort_order":5, |
|||
"access_loggedin":false, |
|||
"inbreadcrumbs":true, |
|||
"access_restricted":false, |
|||
"hidden":false |
|||
}, |
|||
"pk":5 |
|||
}, |
|||
{ |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"urlaspattern":false, |
|||
"access_guest":true, |
|||
"title":"Přihlásit", |
|||
"description":"", |
|||
"parent":null, |
|||
"sort_order":6, |
|||
"access_loggedin":false, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"inbreadcrumbs":true, |
|||
"inmenu":true, |
|||
"url":"/login/", |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"alias":null, |
|||
"hint":"" |
|||
}, |
|||
"pk":6 |
|||
}, |
|||
{ |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"description":"", |
|||
"urlaspattern":false, |
|||
"access_guest":false, |
|||
"title":"Úvod", |
|||
"parent":1, |
|||
"access_loggedin":false, |
|||
"sort_order":7, |
|||
"inbreadcrumbs":true, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"alias":null, |
|||
"inmenu":true, |
|||
"url":"/co-je-MaM/uvod/", |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"hint":"" |
|||
}, |
|||
"pk":7 |
|||
}, |
|||
{ |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"parent":1, |
|||
"description":"", |
|||
"urlaspattern":false, |
|||
"title":"Organizátoři", |
|||
"access_guest":false, |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"hint":"", |
|||
"alias":null, |
|||
"url":"/co-je-MaM/organizatori/", |
|||
"inmenu":true, |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"inbreadcrumbs":true, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"access_loggedin":false, |
|||
"sort_order":8 |
|||
}, |
|||
"pk":8 |
|||
}, |
|||
{ |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"parent":1, |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"description":"", |
|||
"title":"FAQ", |
|||
"access_guest":false, |
|||
"urlaspattern":false, |
|||
"alias":null, |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"url":"/co-je-MaM/FAQ/", |
|||
"inmenu":true, |
|||
"hint":"", |
|||
"access_loggedin":false, |
|||
"sort_order":9, |
|||
"inbreadcrumbs":true, |
|||
"hidden":false, |
|||
"access_restricted":false |
|||
}, |
|||
"pk":9 |
|||
}, |
|||
{ |
|||
"pk":10, |
|||
"fields":{ |
|||
"urlaspattern":false, |
|||
"title":"Kontakt", |
|||
"access_guest":false, |
|||
"description":"", |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"parent":1, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"inbreadcrumbs":true, |
|||
"access_loggedin":false, |
|||
"sort_order":10, |
|||
"hint":"", |
|||
"inmenu":true, |
|||
"url":"/co-je-MaM/kontakt/", |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"alias":null |
|||
}, |
|||
"model":"sitetree.treeitem" |
|||
}, |
|||
{ |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"urlaspattern":false, |
|||
"access_guest":false, |
|||
"title":"Témata", |
|||
"description":"", |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"parent":2, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"inbreadcrumbs":true, |
|||
"sort_order":11, |
|||
"access_loggedin":false, |
|||
"hint":"", |
|||
"inmenu":true, |
|||
"url":"/jak-resit/", |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"alias":null |
|||
}, |
|||
"pk":11 |
|||
}, |
|||
{ |
|||
"pk":12, |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"inbreadcrumbs":true, |
|||
"sort_order":12, |
|||
"access_loggedin":false, |
|||
"hint":"", |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"inmenu":true, |
|||
"url":"/jak-resit/jak-psat-prispevek/", |
|||
"alias":null, |
|||
"access_guest":false, |
|||
"title":"Jak psát příspěvek", |
|||
"urlaspattern":false, |
|||
"description":"", |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"parent":2 |
|||
} |
|||
}, |
|||
{ |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"hint":"", |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"inmenu":true, |
|||
"url":"/co-je-MaM/odmeny/", |
|||
"alias":null, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"inbreadcrumbs":true, |
|||
"access_loggedin":false, |
|||
"sort_order":13, |
|||
"parent":2, |
|||
"access_guest":false, |
|||
"title":"Odměny", |
|||
"urlaspattern":false, |
|||
"description":"", |
|||
"tree":1, |
|||
"insitetree":true |
|||
}, |
|||
"pk":13 |
|||
}, |
|||
{ |
|||
"pk":16, |
|||
"fields":{ |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"access_guest":false, |
|||
"title":"Výsledková listina", |
|||
"urlaspattern":false, |
|||
"description":"", |
|||
"parent":3, |
|||
"access_loggedin":false, |
|||
"sort_order":33, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"inbreadcrumbs":true, |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"url":"zadani/vysledkova-listina/", |
|||
"inmenu":true, |
|||
"alias":null, |
|||
"hint":"" |
|||
}, |
|||
"model":"sitetree.treeitem" |
|||
}, |
|||
{ |
|||
"fields":{ |
|||
"title":"Články", |
|||
"access_guest":false, |
|||
"urlaspattern":false, |
|||
"description":"", |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"parent":3, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"inbreadcrumbs":true, |
|||
"sort_order":34, |
|||
"access_loggedin":false, |
|||
"hint":"", |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"inmenu":true, |
|||
"url":"/clanky/resitel/", |
|||
"alias":null |
|||
}, |
|||
"model":"sitetree.treeitem", |
|||
"pk":17 |
|||
}, |
|||
{ |
|||
"pk":18, |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"description":"", |
|||
"access_guest":false, |
|||
"title":"Úvod", |
|||
"urlaspattern":false, |
|||
"parent":4, |
|||
"access_loggedin":false, |
|||
"sort_order":18, |
|||
"inbreadcrumbs":true, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"alias":null, |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"url":"/soustredeni/", |
|||
"inmenu":true, |
|||
"hint":"" |
|||
} |
|||
}, |
|||
{ |
|||
"fields":{ |
|||
"sort_order":19, |
|||
"access_loggedin":false, |
|||
"inbreadcrumbs":true, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"alias":null, |
|||
"inmenu":true, |
|||
"url":"/soustredeni/pripravujeme/", |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"hint":"", |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"description":"", |
|||
"urlaspattern":false, |
|||
"access_guest":false, |
|||
"title":"Připravujeme", |
|||
"parent":4 |
|||
}, |
|||
"model":"sitetree.treeitem", |
|||
"pk":19 |
|||
}, |
|||
{ |
|||
"pk":20, |
|||
"fields":{ |
|||
"parent":4, |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"description":"", |
|||
"access_guest":false, |
|||
"title":"Proběhlo", |
|||
"urlaspattern":false, |
|||
"alias":null, |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"url":"/soustredeni/probehlo/", |
|||
"inmenu":true, |
|||
"hint":"", |
|||
"sort_order":20, |
|||
"access_loggedin":false, |
|||
"inbreadcrumbs":true, |
|||
"hidden":false, |
|||
"access_restricted":false |
|||
}, |
|||
"model":"sitetree.treeitem" |
|||
}, |
|||
{ |
|||
"pk":21, |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"urlaspattern":false, |
|||
"access_guest":false, |
|||
"title":"Profil", |
|||
"description":"", |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"parent":null, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"inbreadcrumbs":true, |
|||
"sort_order":21, |
|||
"access_loggedin":true, |
|||
"hint":"", |
|||
"url":"/profil/", |
|||
"inmenu":true, |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"alias":null |
|||
} |
|||
}, |
|||
{ |
|||
"pk":22, |
|||
"fields":{ |
|||
"parent":21, |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"description":"", |
|||
"access_guest":false, |
|||
"title":"Osobní údaje", |
|||
"urlaspattern":false, |
|||
"alias":null, |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"inmenu":true, |
|||
"url":"/profil/osobni-udaje", |
|||
"hint":"", |
|||
"access_loggedin":false, |
|||
"sort_order":23, |
|||
"inbreadcrumbs":true, |
|||
"hidden":false, |
|||
"access_restricted":false |
|||
}, |
|||
"model":"sitetree.treeitem" |
|||
}, |
|||
{ |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"access_loggedin":false, |
|||
"sort_order":36, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"inbreadcrumbs":true, |
|||
"inmenu":true, |
|||
"url":"/odeslat-reseni/", |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"alias":null, |
|||
"hint":"", |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"urlaspattern":false, |
|||
"title":"Poslat řešení", |
|||
"access_guest":false, |
|||
"description":"", |
|||
"parent":21 |
|||
}, |
|||
"pk":23 |
|||
}, |
|||
{ |
|||
"pk":24, |
|||
"fields":{ |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"description":"", |
|||
"title":"Témata", |
|||
"access_guest":false, |
|||
"urlaspattern":false, |
|||
"parent":5, |
|||
"access_loggedin":false, |
|||
"sort_order":35, |
|||
"inbreadcrumbs":true, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"alias":null, |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"url":"/archiv/temata/", |
|||
"inmenu":true, |
|||
"hint":"" |
|||
}, |
|||
"model":"sitetree.treeitem" |
|||
}, |
|||
{ |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"hint":"", |
|||
"alias":null, |
|||
"access_perm_type":1, |
|||
"access_permissions":[ |
|||
1 |
|||
], |
|||
"url":"/korektury/", |
|||
"inmenu":true, |
|||
"inbreadcrumbs":true, |
|||
"hidden":false, |
|||
"access_restricted":true, |
|||
"sort_order":28, |
|||
"access_loggedin":false, |
|||
"parent":null, |
|||
"description":"", |
|||
"title":"HIDDEN", |
|||
"access_guest":false, |
|||
"urlaspattern":false, |
|||
"tree":1, |
|||
"insitetree":true |
|||
}, |
|||
"pk":28 |
|||
}, |
|||
{ |
|||
"pk":30, |
|||
"fields":{ |
|||
"description":"", |
|||
"title":"Aktuální", |
|||
"access_guest":false, |
|||
"urlaspattern":false, |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"parent":28, |
|||
"inbreadcrumbs":true, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"sort_order":30, |
|||
"access_loggedin":false, |
|||
"hint":"", |
|||
"alias":null, |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"inmenu":true, |
|||
"url":"/korektury/" |
|||
}, |
|||
"model":"sitetree.treeitem" |
|||
}, |
|||
{ |
|||
"pk":31, |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"alias":null, |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"url":"/korektury/zastarale/", |
|||
"inmenu":true, |
|||
"hint":"", |
|||
"access_loggedin":false, |
|||
"sort_order":31, |
|||
"inbreadcrumbs":true, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"parent":28, |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"description":"", |
|||
"title":"Zastaralé", |
|||
"access_guest":false, |
|||
"urlaspattern":false |
|||
} |
|||
}, |
|||
{ |
|||
"fields":{ |
|||
"alias":null, |
|||
"inmenu":true, |
|||
"url":"/korektury/help/", |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"hint":"", |
|||
"access_loggedin":false, |
|||
"sort_order":32, |
|||
"inbreadcrumbs":true, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"parent":28, |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"description":"", |
|||
"urlaspattern":false, |
|||
"access_guest":false, |
|||
"title":"Nápověda" |
|||
}, |
|||
"model":"sitetree.treeitem", |
|||
"pk":32 |
|||
}, |
|||
{ |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"tree":1, |
|||
"insitetree":true, |
|||
"access_guest":false, |
|||
"title":"Aktuální číslo", |
|||
"urlaspattern":false, |
|||
"description":"", |
|||
"parent":3, |
|||
"access_loggedin":false, |
|||
"sort_order":15, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"inbreadcrumbs":true, |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"url":"/zadani/aktualni/", |
|||
"inmenu":true, |
|||
"alias":null, |
|||
"hint":"" |
|||
}, |
|||
"pk":33 |
|||
}, |
|||
{ |
|||
"fields":{ |
|||
"hint":"", |
|||
"alias":null, |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"url":"/zadani/temata/", |
|||
"inmenu":true, |
|||
"inbreadcrumbs":true, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"access_loggedin":false, |
|||
"sort_order":17, |
|||
"parent":3, |
|||
"description":"", |
|||
"title":"Témata", |
|||
"access_guest":false, |
|||
"urlaspattern":false, |
|||
"tree":1, |
|||
"insitetree":true |
|||
}, |
|||
"model":"sitetree.treeitem", |
|||
"pk":34 |
|||
}, |
|||
{ |
|||
"pk":35, |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"hint":"", |
|||
"access_permissions":[], |
|||
"access_perm_type":1, |
|||
"inmenu":true, |
|||
"url":"/archiv/rocniky/", |
|||
"alias":null, |
|||
"hidden":false, |
|||
"access_restricted":false, |
|||
"inbreadcrumbs":true, |
|||
"sort_order":24, |
|||
"access_loggedin":false, |
|||
"parent":5, |
|||
"access_guest":false, |
|||
"title":"Čísla", |
|||
"urlaspattern":false, |
|||
"description":"", |
|||
"tree":1, |
|||
"insitetree":true |
|||
} |
|||
}, |
|||
{ |
|||
"pk":36, |
|||
"fields":{ |
|||
"inbreadcrumbs":true, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"sort_order":22, |
|||
"access_loggedin":false, |
|||
"hint":"", |
|||
"alias":null, |
|||
"inmenu":true, |
|||
"url":"/profil/", |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"description":"", |
|||
"urlaspattern":false, |
|||
"title":"Úvod", |
|||
"access_guest":false, |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"parent":21 |
|||
}, |
|||
"model":"sitetree.treeitem" |
|||
}, |
|||
{ |
|||
"fields":{ |
|||
"parent":21, |
|||
"description":"", |
|||
"urlaspattern":true, |
|||
"title":"Odevzdaná řešení", |
|||
"access_guest":false, |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"hint":"", |
|||
"alias":null, |
|||
"inmenu":true, |
|||
"url":"odevzdavatko_tabulka", |
|||
"access_perm_type":1, |
|||
"access_permissions":[ |
|||
1 |
|||
], |
|||
"inbreadcrumbs":true, |
|||
"access_restricted":true, |
|||
"hidden":false, |
|||
"access_loggedin":false, |
|||
"sort_order":37 |
|||
}, |
|||
"model":"sitetree.treeitem", |
|||
"pk":37 |
|||
}, |
|||
{ |
|||
"model":"sitetree.treeitem", |
|||
"fields":{ |
|||
"inmenu":true, |
|||
"url":"/logout/", |
|||
"access_perm_type":1, |
|||
"access_permissions":[], |
|||
"alias":null, |
|||
"hint":"", |
|||
"access_loggedin":true, |
|||
"sort_order":38, |
|||
"access_restricted":false, |
|||
"hidden":false, |
|||
"inbreadcrumbs":true, |
|||
"parent":21, |
|||
"insitetree":true, |
|||
"tree":1, |
|||
"urlaspattern":false, |
|||
"title":"Odhlásit se", |
|||
"access_guest":false, |
|||
"description":"" |
|||
}, |
|||
"pk":38 |
|||
} |
|||
] |
@ -0,0 +1,18 @@ |
|||
# Generated by Django 2.2.15 on 2020-08-19 07:47 |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('galerie', '0009_auto_20190610_2358'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='galerie', |
|||
name='poradi', |
|||
field=models.IntegerField(blank=True, default=0, verbose_name='Pořadí'), |
|||
), |
|||
] |
@ -1,6 +0,0 @@ |
|||
{% extends "base.html" %} |
|||
|
|||
{# TODO predelat pres context processor #} |
|||
{% block header %}soustredeni{% endblock %} |
|||
{% block menu_soustredeni %}selected{% endblock %} |
|||
{% block submenu %}{% include 'seminar/soustredeni/submenu.html' %}{% endblock %} |
@ -1,13 +1,14 @@ |
|||
# coding: utf-8 |
|||
|
|||
from django.urls import path |
|||
from seminar.utils import org_required |
|||
from . import views |
|||
|
|||
urlpatterns = [ |
|||
path('<int:pk>/', views.nahled), |
|||
path('<int:pk>/<int:fotka>/', views.detail), |
|||
path('<int:galerie>/new/', views.new_galerie), |
|||
path('<int:galerie>/plus/<int:subgalerie>/', views.plus_galerie), |
|||
path('<int:galerie>/minus/<int:subgalerie>/', views.minus_galerie), |
|||
path('<int:galerie>/new/', org_required(views.new_galerie)), |
|||
path('<int:galerie>/plus/<int:subgalerie>/', org_required(views.plus_galerie)), |
|||
path('<int:galerie>/minus/<int:subgalerie>/', org_required(views.minus_galerie)), |
|||
] |
|||
|
|||
|
@ -0,0 +1,10 @@ |
|||
from django.contrib import admin |
|||
from django.contrib.admin import ModelAdmin |
|||
import header_fotky.models as m |
|||
|
|||
|
|||
class FotkaPozadiAdmin(ModelAdmin): |
|||
readonly_fields = ['cas'] |
|||
|
|||
admin.site.register(m.FotkaHeader, FotkaPozadiAdmin) |
|||
admin.site.register(m.FotkaUrlVazba) |
@ -0,0 +1,5 @@ |
|||
from django.apps import AppConfig |
|||
|
|||
|
|||
class HeaderFotkyConfig(AppConfig): |
|||
name = 'header_fotky' |
@ -0,0 +1,45 @@ |
|||
|
|||
from datetime import datetime, date |
|||
import random |
|||
|
|||
from django.conf import settings |
|||
|
|||
from header_fotky.models import FotkaUrlVazba |
|||
|
|||
|
|||
def vzhled(request): |
|||
''' Podle casu prida do templatu, zdali je nebo neni noc ''' |
|||
hodin = datetime.now().hour |
|||
if (hodin <= 6) or (hodin >= 20): |
|||
noc = True |
|||
nedoba = 'den' |
|||
doba = 'noc' |
|||
else: |
|||
noc = False |
|||
nedoba = 'noc' |
|||
doba = 'den' |
|||
url = request.path |
|||
|
|||
fotky = FotkaUrlVazba.objects.exclude(denni_doba=nedoba) |
|||
fotka = None |
|||
|
|||
# TODO rychlejší patternmatch? |
|||
while (fotka is None) and (url != ''): |
|||
presne = fotky.filter(url__exact=url) |
|||
if presne.count() > 0: |
|||
presne_doba = presne.filter(denni_doba=doba) |
|||
if presne_doba.count() > 0: |
|||
fotka = random.choice(presne_doba).url_fotky() |
|||
else: |
|||
fotka = random.choice(presne).url_fotky() |
|||
|
|||
url = url[:-1] |
|||
index = url.rfind('/') |
|||
if index != -1: |
|||
url = url[:index+1] |
|||
|
|||
if fotka is None: |
|||
fotka = settings.STATIC_URL + "images/header/vikendovka.jpg" |
|||
|
|||
return {'noc': noc, 'fotka': fotka} |
|||
|
@ -0,0 +1,63 @@ |
|||
# Generated by Django 2.2.15 on 2020-09-20 09:14 |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
import django.utils.timezone |
|||
|
|||
from shutil import copytree |
|||
|
|||
|
|||
def zkopiruj_fotky(apps, schema_editor): |
|||
try: |
|||
copytree("mamweb/static/images/header/", "media/header/") # FIXME: bylo tu dirs_exists_ok=True, nekompatibilní s Py 3.7 |
|||
except FileExistsError: |
|||
pass |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
initial = True |
|||
|
|||
dependencies = [ |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='FotkaHeader', |
|||
fields=[ |
|||
('cas', models.DateTimeField(default=django.utils.timezone.now, help_text='Čas vložení fotky', |
|||
verbose_name='čas vložení fotky')), |
|||
('nazev', |
|||
models.CharField(help_text='Název např. archiv_noc', max_length=50, primary_key=True, serialize=False, |
|||
unique=True, verbose_name='název fotky')), |
|||
('fotka', models.ImageField(upload_to='header')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'fotka do pozadí menu', |
|||
'verbose_name_plural': 'fotky do pozadí menu', |
|||
'db_table': 'fotky_header', |
|||
'ordering': ['-cas'], |
|||
}, |
|||
), |
|||
migrations.CreateModel( |
|||
name='FotkaUrlVazba', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('url', |
|||
models.CharField(blank=True, help_text='url prefix stránek např: /archiv/ nebo /', max_length=100, |
|||
verbose_name='URL')), |
|||
('denni_doba', models.CharField(choices=[('den', 'Zobrazit jen ve dne'), ('noc', 'Zobrazit jen v noci'), |
|||
('oboji', 'Zobrazovat pořád')], default='oboji', max_length=16, |
|||
verbose_name='denní doba')), |
|||
('fotka', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='header_fotky.FotkaHeader', |
|||
verbose_name='fotka')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'vazba url a fotky do pozadí menu', |
|||
'verbose_name_plural': 'vazby url a fotek do pozadí menu', |
|||
'db_table': 'fotky_url_vazby', |
|||
'ordering': ['url'], |
|||
}, |
|||
|
|||
), |
|||
migrations.RunPython(zkopiruj_fotky, migrations.RunPython.noop), |
|||
] |
@ -0,0 +1,65 @@ |
|||
from django.core.exceptions import ValidationError |
|||
from django.db import models |
|||
from django.utils import timezone |
|||
|
|||
|
|||
class FotkaHeader(models.Model): |
|||
class Meta: |
|||
ordering = ['-cas'] |
|||
db_table = 'fotky_header' |
|||
verbose_name = u'fotka do pozadí menu' |
|||
verbose_name_plural = u'fotky do pozadí menu' |
|||
|
|||
cas = models.DateTimeField(u'čas vložení fotky', default=timezone.now, help_text='Čas vložení fotky') |
|||
|
|||
nazev = models.CharField( |
|||
u'název fotky', null=False, blank=False, unique=True, primary_key=True, |
|||
max_length=50, help_text='Název např. archiv_noc' |
|||
) |
|||
|
|||
fotka = models.ImageField(upload_to='header', null=False, blank=False) |
|||
|
|||
def __str__(self): |
|||
return self.nazev |
|||
|
|||
def clean(self): |
|||
if not self.fotka: |
|||
raise ValidationError("Chybí obrázek") |
|||
""" Kontroluje, zda sedí poměr stran """ |
|||
if abs(self.fotka.width - (self.fotka.height * 970 / 350)) > 2: |
|||
raise ValidationError("Obrázek by měl mít rozměry 970w na 350h, nebo alespoň podobný poměr stran.") |
|||
super().clean() |
|||
|
|||
|
|||
class FotkaUrlVazba(models.Model): |
|||
class Meta: |
|||
ordering = ['url'] |
|||
db_table = 'fotky_url_vazby' |
|||
verbose_name = u'vazba url a fotky do pozadí menu' |
|||
verbose_name_plural = u'vazby url a fotek do pozadí menu' |
|||
|
|||
url = models.CharField( |
|||
u'URL', blank=True, null=False, max_length=100, |
|||
help_text='url prefix stránek např: /archiv/ nebo /' |
|||
) |
|||
|
|||
fotka = models.ForeignKey( |
|||
FotkaHeader, blank=False, null=False, verbose_name='fotka', |
|||
on_delete=models.CASCADE |
|||
) |
|||
|
|||
DOBA_DEN = 'den' |
|||
DOBA_NOC = 'noc' |
|||
DOBA_OBOJI = 'oboji' |
|||
DOBA_CHOICES = [ |
|||
(DOBA_DEN, 'Zobrazit jen ve dne'), |
|||
(DOBA_NOC, 'Zobrazit jen v noci'), |
|||
(DOBA_OBOJI, 'Zobrazovat pořád')] |
|||
|
|||
denni_doba = models.CharField('denní doba', max_length=16, choices=DOBA_CHOICES, blank=False, default=DOBA_OBOJI) |
|||
|
|||
def __str__(self): |
|||
return self.url |
|||
|
|||
def url_fotky(self): |
|||
return self.fotka.fotka.url |
@ -1,9 +0,0 @@ |
|||
{% extends "base.html" %} |
|||
|
|||
{% block content %} |
|||
{# blok do kterého se nacita text, v pripade jinyhc templatu obalit vlastnim blokem #} |
|||
{% endblock %} |
|||
|
|||
{% block title %} |
|||
{# blok pro titulek stranky #} |
|||
{% endblock %} |
@ -0,0 +1,69 @@ |
|||
import logging |
|||
import os |
|||
from shutil import copyfile, rmtree |
|||
|
|||
from django.db import transaction |
|||
from django.conf import settings |
|||
|
|||
from korektury.models import KorekturovanePDF, generate_filename |
|||
|
|||
logger = logging.getLogger(__name__) |
|||
|
|||
@transaction.atomic |
|||
def create_test_pdf(rnd, organizatori): |
|||
logger.info('Vyrábím testovací pdf ke korekturovani') |
|||
try: |
|||
testpdfs = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'testpdfs') |
|||
|
|||
# smaže minulé pdfka a obrázky k nim a vytvoří (znovu) jejich složky |
|||
pdf_dir = os.path.join(settings.BASE_DIR, os.path.join('media', settings.KOREKTURY_PDF_DIR)) |
|||
img_dir = os.path.join(settings.BASE_DIR, os.path.join('media', settings.KOREKTURY_IMG_DIR)) |
|||
rmtree(pdf_dir, ignore_errors=True) |
|||
os.makedirs(pdf_dir) |
|||
rmtree(img_dir, ignore_errors=True) |
|||
os.makedirs(img_dir) |
|||
|
|||
def gen_filename(filename): |
|||
name = generate_filename(None, filename) |
|||
print(name) |
|||
copyfile(os.path.join(testpdfs, filename), os.path.join(settings.BASE_DIR, os.path.join('media', name))) |
|||
return name |
|||
|
|||
# TODO silent ghostscript (vypisuje odstavec za každou stránku…) |
|||
|
|||
KorekturovanePDF.objects.create( |
|||
nazev='B', komentar='Neuronové sítě', org=rnd.choice(organizatori), pdf=gen_filename(filename='B.pdf') |
|||
) |
|||
|
|||
KorekturovanePDF.objects.create( |
|||
nazev='A', komentar='M&M: Jak řešit?', org=rnd.choice(organizatori), pdf=gen_filename(filename='A.pdf') |
|||
) |
|||
|
|||
korekturovane_pdf = KorekturovanePDF.objects.create( |
|||
nazev='A', komentar='M&M: Jak řešit?', org=rnd.choice(organizatori), pdf=gen_filename(filename='A.pdf'), |
|||
status='zanaseni' |
|||
) |
|||
|
|||
KorekturovanePDF.objects.create( |
|||
nazev='A', komentar='M&M: Jak řešit?', org=rnd.choice(organizatori), pdf=gen_filename(filename='A.pdf'), |
|||
status='zastarale' |
|||
) |
|||
except (FileNotFoundError, Exception) as e: |
|||
# TODO najít správné chyby, které vyhazují různé systémy při neexistenci ImageMagick, nebo knihoven |
|||
logger.error(str(e)) |
|||
logger.error( |
|||
'Chyba vytváření testovacích korektur, pravděpodobně není nainstalován ImageMagick nebo některá z knihoven' |
|||
'pro práci se soubory pdf (ghostscript) nebo png (libpng?).\n' |
|||
''' |
|||
Instalaci na linux provedete např. příkazy: |
|||
sudo apt-get build-dep imagemagick |
|||
git clone https://github.com/ImageMagick/ImageMagick.git |
|||
cd ImageMagick/ |
|||
./configure |
|||
make |
|||
sudo make install |
|||
sudo ldconfig /usr/local/lib |
|||
cd .. |
|||
rm -r ImageMagick/ |
|||
''' |
|||
) |
@ -1,11 +1,10 @@ |
|||
from django.urls import path |
|||
from django.contrib.auth.decorators import user_passes_test |
|||
from seminar.utils import org_required |
|||
from . import views |
|||
|
|||
staff_member_required = user_passes_test(lambda u: u.is_staff) |
|||
|
|||
urlpatterns = [ |
|||
path('korektury/', staff_member_required(views.KorekturyListView.as_view()), name='korektury-list'), |
|||
path('korektury/<int:pdf>/', staff_member_required(views.KorekturyView.as_view()), name='korektury'), |
|||
path('korektury/help/', staff_member_required(views.KorekturyHelpView.as_view()), name='korektury-help'), |
|||
path('korektury/', org_required(views.KorekturyAktualniListView.as_view()), name='korektury_list'), |
|||
path('korektury/zastarale/', org_required(views.KorekturyZastaraleListView.as_view()), name='korektury_stare_list'), |
|||
path('korektury/<int:pdf>/', org_required(views.KorekturyView.as_view()), name='korektury'), |
|||
path('korektury/help/', org_required(views.KorekturyHelpView.as_view()), name='korektury-help'), |
|||
] |
|||
|
@ -1,12 +0,0 @@ |
|||
|
|||
from datetime import datetime, date |
|||
|
|||
def vzhled(request): |
|||
''' Podle casu prida do templatu, zdali je nebo neni noc ''' |
|||
hodin = datetime.now().hour |
|||
if (hodin <= 6) or (hodin >= 20): |
|||
noc = True |
|||
else: |
|||
noc = False |
|||
return {'noc' : noc} |
|||
|
@ -0,0 +1,15 @@ |
|||
from rest_framework import routers |
|||
from seminar import viewsets as vs |
|||
|
|||
router = routers.DefaultRouter() |
|||
|
|||
router.register(r'ulohavzoraknode', vs.UlohaVzorakNodeViewSet,basename='ulohavzoraknode') |
|||
router.register(r'reseninode', vs.ReseniNodeViewSet,basename='reseninode') |
|||
router.register(r'text', vs.TextViewSet) |
|||
router.register(r'textnode', vs.TextNodeViewSet) |
|||
router.register(r'castnode', vs.CastNodeViewSet) |
|||
router.register(r'problem', vs.ProblemViewSet, basename='problem') |
|||
router.register(r'uloha', vs.UlohaViewSet, basename='uloha') |
|||
router.register(r'reseni', vs.ReseniViewSet, basename='reseni') |
|||
router.register(r'ulohazadaninode', vs.UlohaZadaniNodeViewSet) |
|||
|
@ -0,0 +1,38 @@ |
|||
/* |
|||
.pink { |
|||
background-color: #ffc0cb; |
|||
} |
|||
|
|||
div.borderized { |
|||
border-style: solid; |
|||
border-radius: 5px; |
|||
padding: 5px; |
|||
padding-right: 20px; |
|||
} |
|||
|
|||
div.tnmenu { |
|||
float: right; |
|||
margin-right: 0px; |
|||
} |
|||
|
|||
|
|||
div.parent { |
|||
border-width: 2px; |
|||
} |
|||
|
|||
div.children { |
|||
border-width: 1px; |
|||
} |
|||
|
|||
div.node_type { |
|||
background-color: #d4d4d4; |
|||
} |
|||
|
|||
.hidden-tn { |
|||
display: none; |
|||
} |
|||
|
|||
/*test*/ |
|||
h1 { |
|||
color: chartreuse; |
|||
} |
Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 476 KiB |
After Width: | Height: | Size: 1.8 MiB |
After Width: | Height: | Size: 1.8 MiB |
After Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@ -0,0 +1,26 @@ |
|||
{% load staticfiles %} |
|||
<img class="logo" |
|||
{% for item in sitetree_items %} |
|||
{% if item.is_active or item.in_current_branch %} |
|||
{% if forloop.counter == 1 %} |
|||
src="{% static 'images/logo_1.svg' %}" |
|||
{% endif %} |
|||
{% if forloop.counter == 2 %} |
|||
src="{% static 'images/logo_2.svg' %}" |
|||
{% endif %} |
|||
{% if forloop.counter == 3 %} |
|||
src="{% static 'images/logo_3.svg' %}" |
|||
{% endif %} |
|||
{% if forloop.counter == 4 %} |
|||
src="{% static 'images/logo_4.svg' %}" |
|||
{% endif %} |
|||
{% if forloop.counter == 5 %} |
|||
src="{% static 'images/logo_5.svg' %}" |
|||
{% endif %} |
|||
{% if forloop.counter == 6 %} |
|||
src="{% static 'images/logo_6.svg' %}" |
|||
{% endif %} |
|||
{% endif %} |
|||
{% endfor %} |
|||
src="{% static 'images/logo.svg' %}" |
|||
/> |
@ -1,14 +1,25 @@ |
|||
from django.urls import path |
|||
from django.contrib.auth.decorators import user_passes_test |
|||
from seminar.utils import org_required, resitel_required |
|||
from . import views |
|||
|
|||
staff_member_required = user_passes_test(lambda u: u.is_staff) |
|||
|
|||
urlpatterns = [ |
|||
path('prednasky/', views.newPrednaska), |
|||
path( |
|||
'prednasky/', |
|||
resitel_required(views.newPrednaska) |
|||
), |
|||
path('prednasky/hotovo', views.Prednaska_hotovo), |
|||
path('prednasky/metaseznam_prednasek', staff_member_required(views.MetaSeznamListView.as_view()), name='metaseznam-list'), |
|||
path('prednasky/seznam_prednasek/<int:seznam>/export', staff_member_required(views.SeznamExportView), name='seznam-export'), |
|||
path('prednasky/seznam_prednasek/<int:seznam>/', staff_member_required(views.SeznamListView.as_view()), name='seznam-list'), |
|||
# path('korektury/help/', staff_member_required(views.KorekturyHelpView.as_view()), name='korektury-help'), |
|||
path( |
|||
'prednasky/metaseznam_prednasek', |
|||
org_required(views.MetaSeznamListView.as_view()), |
|||
name='metaseznam-list'), |
|||
path( |
|||
'prednasky/seznam_prednasek/<int:seznam>/export', |
|||
org_required(views.SeznamExportView), |
|||
name='seznam-export' |
|||
), |
|||
path( |
|||
'prednasky/seznam_prednasek/<int:seznam>/', |
|||
org_required(views.SeznamListView.as_view()), |
|||
name='seznam-list' |
|||
), |
|||
] |
|||
|
@ -0,0 +1 @@ |
|||
,anet,erebus,25.03.2020 22:21,file:///home/anet/.config/libreoffice/4; |
@ -0,0 +1,17 @@ |
|||
# Generated by Django 2.2.15 on 2020-08-19 07:59 |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('seminar', '0085_nepovinna_prezdivka'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='organizator', |
|||
options={'ordering': ['-organizuje_do', 'osoba__jmeno', 'osoba__prijmeni'], 'verbose_name': 'Organizátor', 'verbose_name_plural': 'Organizátoři'}, |
|||
), |
|||
] |
@ -0,0 +1,49 @@ |
|||
# Generated by Django 2.2.16 on 2020-09-04 12:06 |
|||
|
|||
from django.db import migrations |
|||
from logging import getLogger |
|||
|
|||
log = getLogger(__name__) |
|||
|
|||
# Oprava migrací 0065 a 0066, kde jsem špatně pochopil django-polymorphic |
|||
|
|||
# Pomocná funkce -- děláme to samé pro obě polymorfní hierarchie |
|||
def fix_ctypes(parent: str, children, apps, schema_editor): |
|||
Parent = apps.get_model('seminar', parent) |
|||
ContentType = apps.get_model('contenttypes', 'ContentType') |
|||
|
|||
# Nejdřív všechno smažeme: |
|||
Parent.objects.update(polymorphic_ctype=None) |
|||
|
|||
# Opravíme děti |
|||
for clsname in children: |
|||
Model = apps.get_model('seminar', clsname) |
|||
ct = ContentType.objects.get_for_model(Model) |
|||
Model.objects.update(polymorphic_ctype=ct) |
|||
|
|||
|
|||
# Ostatní instance mají mít explicitně content type pro rodiče |
|||
new_ct = ContentType.objects.get_for_model(Parent) |
|||
for obj in Parent.objects.filter(polymorphic_ctype__isnull=True): |
|||
log.warn(f"{parent} \"{obj}\" neměl content type -- nejspíš to je instance přímo {parent}!") |
|||
obj.polymorphic_ctype=new_ct |
|||
obj.save() |
|||
|
|||
def fix_treenode(apps, schema_editor): |
|||
children = ['RocnikNode', 'CisloNode', 'MezicisloNode', 'TemaVCisleNode', |
|||
'OrgTextNode', 'UlohaZadaniNode', 'UlohaVzorakNode', 'PohadkaNode', |
|||
'TextNode', 'CastNode', 'ReseniNode'] |
|||
fix_ctypes("TreeNode", children, apps, schema_editor) |
|||
|
|||
def fix_problem(apps, schema_editor): |
|||
children = ['Tema', 'Clanek', 'Uloha'] # FIXME: Konfera z nějakého důvodu tenhle field vůbec nemá, asi je to špatně. |
|||
fix_ctypes("Problem", children, apps, schema_editor) |
|||
|
|||
class Migration(migrations.Migration): |
|||
dependencies = [ |
|||
('seminar', '0086_auto_20200819_0959'), |
|||
] |
|||
operations = [ |
|||
migrations.RunPython(fix_treenode, migrations.RunPython.noop), |
|||
migrations.RunPython(fix_problem, migrations.RunPython.noop), |
|||
] |
@ -0,0 +1,35 @@ |
|||
# Generated by Django 2.2.15 on 2020-09-05 10:10 |
|||
from django.db import migrations |
|||
|
|||
|
|||
def add_perms(apps, schema_editor): |
|||
ContentType = apps.get_model('contenttypes', 'ContentType') |
|||
User = apps.get_model('auth', 'User') |
|||
Permission = apps.get_model('auth', 'Permission') |
|||
Resitel = apps.get_model('seminar', 'Resitel') |
|||
|
|||
c = ContentType.objects.get_for_model(User) |
|||
org_perm = Permission.objects.filter(codename__exact='org').first() |
|||
if not org_perm: |
|||
org_perm = Permission.objects.create(codename='org', name='org', content_type=c) |
|||
resitel_perm = Permission.objects.filter(codename__exact='resitel').first() |
|||
if not resitel_perm: |
|||
resitel_perm = Permission.objects.create(codename='resitel', name='resitel', content_type=c) |
|||
for r in Resitel.objects.all(): |
|||
u = r.osoba.user |
|||
if u: |
|||
u.user_permissions.add(resitel_perm) |
|||
for org in User.objects.all(): |
|||
if org and org.is_staff: |
|||
org.user_permissions.add(org_perm) |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('seminar', '0087_fix_polymorphism'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.RunPython(add_perms, migrations.RunPython.noop), |
|||
] |
@ -0,0 +1,18 @@ |
|||
# Generated by Django 2.2.16 on 2020-10-13 19:40 |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('seminar', '0088_perm_org_a_ucastnik'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AddField( |
|||
model_name='cislo', |
|||
name='datum_preddeadline', |
|||
field=models.DateField(blank=True, help_text='Datum pro příjem řešení, která se otisknou v dalším čísle', null=True, verbose_name='datum předdeadline'), |
|||
), |
|||
] |
@ -0,0 +1,19 @@ |
|||
# Generated by Django 2.2.12 on 2020-11-10 18:58 |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('seminar', '0089_cislo_datum_preddeadline'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='textnode', |
|||
name='text', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='seminar.Text', verbose_name='text'), |
|||
), |
|||
] |
@ -0,0 +1,18 @@ |
|||
# Generated by Django 2.2.17 on 2020-12-01 19:53 |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('seminar', '0090_auto_20201110_1958'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AddField( |
|||
model_name='resitel', |
|||
name='zasilat_cislo_emailem', |
|||
field=models.BooleanField(default=False, help_text='True pokud chce řešitel dostávat číslo emailem', verbose_name='zasílat číslo emailem'), |
|||
), |
|||
] |
@ -0,0 +1,14 @@ |
|||
from django.db import migrations |
|||
|
|||
sql = "update seminar_problemy set typ = 'uloha' where typ like 'b_uloha_';" |
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('seminar', '0058_problem_to_uloha_tema_clanek'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.RunSQL(sql, sql), |
|||
] |
|||
|
@ -0,0 +1,7 @@ |
|||
from rest_framework.permissions import BasePermission |
|||
|
|||
class AllowWrite(BasePermission): |
|||
|
|||
def has_permission(self, request, view): |
|||
return request.user.has_perm('auth.org') |
|||
|
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 300 KiB |
@ -0,0 +1,18 @@ |
|||
function showSelectedItemForm(sel,id){ |
|||
var option; |
|||
var name; |
|||
var div; |
|||
Array.from(sel.options).forEach(function(option){ |
|||
console.log(option); |
|||
name = 'pridat-'+option.value+'-'+id; |
|||
div = document.getElementById(name); |
|||
console.log(div); |
|||
div.style.display = 'none'; |
|||
}); |
|||
name = sel.options[sel.selectedIndex].value; |
|||
name = 'pridat-'+name+'-'+id; |
|||
div = document.getElementById(name); |
|||
console.log(div); |
|||
div.style.display = 'block'; |
|||
|
|||
} |
@ -1,6 +0,0 @@ |
|||
{% extends "base.html" %} |
|||
|
|||
{% block menu_archiv %}selected{% endblock %} |
|||
|
|||
{# zmena fotky #}{% block header %}archiv{% endblock %} |
|||
|
@ -0,0 +1,97 @@ |
|||
{% extends "seminar/archiv/base_cisla.html" %} |
|||
|
|||
{# {% block content %} |
|||
<div> |
|||
|
|||
<h1> |
|||
{% block nadpis1a %}{% block nadpis1b %} |
|||
Číslo {{ cislo }} |
|||
{% endblock %}{% endblock %} |
|||
</h1> |
|||
|
|||
{% if cislo.pdf %} |
|||
<p><a href='{{ cislo.pdf.url }}'>Číslo v pdf</a> |
|||
{% endif %} |
|||
<p><a href='{{ cislo.rocnik.verejne_url }}'>Ročník {{ cislo.rocnik }}</a> |
|||
|
|||
{% if v_cisle_zadane %} |
|||
<h2>Zadané problémy</h2> |
|||
<ul> |
|||
{% for p in v_cisle_zadane %} |
|||
<li{% if user.is_staff and not cislo.verejne %} class='mam-org-only'{% endif %}> |
|||
{% if user.is_staff or cislo.verejne %} |
|||
<a href='{{ p.verejne_url }}'>{% endif %}{{ p.kod_v_rocniku }} {{ p.nazev }} {{ p.body_v_zavorce }}{% if user.is_staff or cislo.verejne %}</a>{% endif %} |
|||
{% endfor %} |
|||
</ul> |
|||
{% endif %} |
|||
|
|||
{% if resene_problemy %} |
|||
<h2>Řešené problémy</h2> |
|||
<ul> |
|||
{% for p in resene_problemy %} |
|||
<li{% if user.is_staff and not cislo.verejne %} class='mam-org-only'{% endif %}> |
|||
{% if user.is_staff or cislo.verejne %} |
|||
<a href='{{ p.verejne_url }}'>{% endif %}{{ p.kod_v_rocniku }} {{ p.nazev }} {{ p.body_v_zavorce }}{% if user.is_staff or cislo.verejne %}</a>{% endif %} |
|||
{% endfor %} |
|||
</ul> |
|||
{% endif %} |
|||
|
|||
{% if user.is_staff %} |
|||
<div class="mam-org-only"> |
|||
<h2> Orgovské odkazy </h2> |
|||
<ul> |
|||
<li><a href="obalky.pdf">Obálky (PDF)</a></li> |
|||
<li><a href="tituly.tex">Tituly (TeX)</a></li> |
|||
<li><a href="vysledkovka.tex">Výsledkovka (TeX)</a></li> |
|||
<li><a href="obalkovani">Obálkování</a></li> |
|||
</ul> |
|||
</div> |
|||
{% endif %} |
|||
|
|||
{% if cislo.verejna_vysledkovka %} |
|||
<h2>Výsledkovka</h2> |
|||
{% else %} |
|||
{% if user.is_staff %} |
|||
<div class='mam-org-only'> |
|||
<h2>Výsledkovka (neveřejná)</h2> |
|||
{% endif %} |
|||
{% endif %} |
|||
|
|||
{% if cislo.verejna_vysledkovka or user.is_staff %} |
|||
<table class='vysledkovka'> |
|||
<tr class='border-b'> |
|||
<th class='border-r'># |
|||
<th class='border-r'>Jméno #} |
|||
{# problémy by měly být veřejné, když je veřejná výsledkovka #} |
|||
{# {% for p in problemy %} |
|||
<th class='border-r'><a href="{{ p.verejne_url }}">{{ p.kod_v_rocniku }}</a> |
|||
{% endfor %} |
|||
<th class='border-r'>Za číslo</sup> |
|||
<th class='border-r'>Za ročník |
|||
<th class='border-r'>Odjakživa |
|||
{% for rv in radky_vysledkovky %} |
|||
<tr> |
|||
<td class='border-r'>{% autoescape off %}{{ rv.poradi }}{% endautoescape %} |
|||
<th class='border-r'> |
|||
{% if rv.resitel.titul != "" %} |
|||
{{ rv.resitel.titul }}<sup>MM</sup> |
|||
{% endif %} |
|||
{{ rv.resitel.osoba.plne_jmeno }} |
|||
{% for b in rv.hlavni_problemy_body %} |
|||
<td class='border-r'>{{ b }} |
|||
{% endfor %} |
|||
<td class='border-r'>{{ rv.body_cislo }} |
|||
<td class='border-r'><b>{{ rv.body_rocnik }}</b> |
|||
<td class='border-r'>{{ rv.body_celkem_odjakziva }} |
|||
</tr> |
|||
{% endfor %} |
|||
</table> |
|||
{% endif %} |
|||
|
|||
{% if not cislo.verejna_vysledkovka and user.is_staff %} |
|||
</div> |
|||
{% endif %} |
|||
|
|||
</div> |
|||
{% endblock content %} #} |
|||
|
@ -0,0 +1,15 @@ |
|||
{% extends "base.html" %} |
|||
|
|||
{% block content %} |
|||
<h1> |
|||
{% block nadpis1a %}{% block nadpis1b %} |
|||
Odměny {{ cislo }} |
|||
{% endblock %}{% endblock %} |
|||
</h1> |
|||
<ul> |
|||
{% for z in zmeny %} |
|||
<li> {{z.jmeno}}: {{z.ftitul}} → {{z.ttitul}}</li> |
|||
{% endfor %} |
|||
</ul> |
|||
|
|||
{% endblock content %} |