Merge branch 'data_migrations' into test
This commit is contained in:
commit
fb2fc9a6a8
7 changed files with 683 additions and 15 deletions
607
admin_org_prava.json
Normal file
607
admin_org_prava.json
Normal file
|
@ -0,0 +1,607 @@
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"codename": "org",
|
||||||
|
"ct_app_label": "auth",
|
||||||
|
"ct_model": "user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_flatpage",
|
||||||
|
"ct_app_label": "flatpages",
|
||||||
|
"ct_model": "flatpage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_flatpage",
|
||||||
|
"ct_app_label": "flatpages",
|
||||||
|
"ct_model": "flatpage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_flatpage",
|
||||||
|
"ct_app_label": "flatpages",
|
||||||
|
"ct_model": "flatpage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_flatpage",
|
||||||
|
"ct_app_label": "flatpages",
|
||||||
|
"ct_model": "flatpage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_galerie",
|
||||||
|
"ct_app_label": "galerie",
|
||||||
|
"ct_model": "galerie"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_galerie",
|
||||||
|
"ct_app_label": "galerie",
|
||||||
|
"ct_model": "galerie"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_galerie",
|
||||||
|
"ct_app_label": "galerie",
|
||||||
|
"ct_model": "galerie"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_galerie",
|
||||||
|
"ct_app_label": "galerie",
|
||||||
|
"ct_model": "galerie"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_obrazek",
|
||||||
|
"ct_app_label": "galerie",
|
||||||
|
"ct_model": "obrazek"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_obrazek",
|
||||||
|
"ct_app_label": "galerie",
|
||||||
|
"ct_model": "obrazek"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_obrazek",
|
||||||
|
"ct_app_label": "galerie",
|
||||||
|
"ct_model": "obrazek"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_obrazek",
|
||||||
|
"ct_app_label": "galerie",
|
||||||
|
"ct_model": "obrazek"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_komentar",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "komentar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_komentar",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "komentar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_komentar",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "komentar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_komentar",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "komentar"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_korekturovanepdf",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "korekturovanepdf"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_korekturovanepdf",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "korekturovanepdf"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_korekturovanepdf",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "korekturovanepdf"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_korekturovanepdf",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "korekturovanepdf"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_oprava",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "oprava"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_oprava",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "oprava"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_oprava",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "oprava"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_oprava",
|
||||||
|
"ct_app_label": "korektury",
|
||||||
|
"ct_model": "oprava"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_hlasovani",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "hlasovani"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_hlasovani",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "hlasovani"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_hlasovani",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "hlasovani"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_hlasovani",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "hlasovani"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_prednaska",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "prednaska"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_prednaska",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "prednaska"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_prednaska",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "prednaska"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_prednaska",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "prednaska"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_seznam",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "seznam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_seznam",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "seznam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_seznam",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "seznam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_seznam",
|
||||||
|
"ct_app_label": "prednasky",
|
||||||
|
"ct_model": "seznam"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_cislo",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "cislo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_cislo",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "cislo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_cislo",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "cislo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_cislo",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "cislo"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_clanek",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "clanek"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_clanek",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "clanek"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_clanek",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "clanek"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_clanek",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "clanek"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_konfera",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "konfera"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_konfera",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "konfera"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_konfera",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "konfera"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_konfera",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "konfera"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_konfery_ucastnici",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "konfery_ucastnici"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_konfery_ucastnici",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "konfery_ucastnici"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_konfery_ucastnici",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "konfery_ucastnici"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_konfery_ucastnici",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "konfery_ucastnici"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_nastaveni",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "nastaveni"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_nastaveni",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "nastaveni"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_nastaveni",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "nastaveni"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_nastaveni",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "nastaveni"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_novinky",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "novinky"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_novinky",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "novinky"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_novinky",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "novinky"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_novinky",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "novinky"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_organizator",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "organizator"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_organizator",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "organizator"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_organizator",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "organizator"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_organizator",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "organizator"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_osoba",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "osoba"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_osoba",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "osoba"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_osoba",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "osoba"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_osoba",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "osoba"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_pohadka",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "pohadka"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_pohadka",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "pohadka"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_pohadka",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "pohadka"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_pohadka",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "pohadka"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_prijemce",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "prijemce"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_prijemce",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "prijemce"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_prijemce",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "prijemce"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_prijemce",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "prijemce"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_problem",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "problem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_problem",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "problem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_problem",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "problem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_problem",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "problem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_resitel",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "resitel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_resitel",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "resitel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_resitel",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "resitel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_resitel",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "resitel"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_rocnik",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "rocnik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_rocnik",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "rocnik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_rocnik",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "rocnik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_rocnik",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "rocnik"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_skola",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "skola"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_skola",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "skola"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_skola",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "skola"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_skola",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "skola"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_soustredeni",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_soustredeni",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_soustredeni",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_soustredeni",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_soustredeni_organizatori",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni_organizatori"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_soustredeni_organizatori",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni_organizatori"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_soustredeni_organizatori",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni_organizatori"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_soustredeni_organizatori",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni_organizatori"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_soustredeni_ucastnici",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni_ucastnici"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_soustredeni_ucastnici",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni_ucastnici"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_soustredeni_ucastnici",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni_ucastnici"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_soustredeni_ucastnici",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "soustredeni_ucastnici"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_tema",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "tema"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_tema",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "tema"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_tema",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "tema"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_tema",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "tema"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_uloha",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "uloha"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_uloha",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "uloha"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_uloha",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "uloha"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_uloha",
|
||||||
|
"ct_app_label": "seminar",
|
||||||
|
"ct_model": "uloha"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_tag",
|
||||||
|
"ct_app_label": "taggit",
|
||||||
|
"ct_model": "tag"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_tag",
|
||||||
|
"ct_app_label": "taggit",
|
||||||
|
"ct_model": "tag"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_tag",
|
||||||
|
"ct_app_label": "taggit",
|
||||||
|
"ct_model": "tag"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_tag",
|
||||||
|
"ct_app_label": "taggit",
|
||||||
|
"ct_model": "tag"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "add_taggeditem",
|
||||||
|
"ct_app_label": "taggit",
|
||||||
|
"ct_model": "taggeditem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "change_taggeditem",
|
||||||
|
"ct_app_label": "taggit",
|
||||||
|
"ct_model": "taggeditem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "delete_taggeditem",
|
||||||
|
"ct_app_label": "taggit",
|
||||||
|
"ct_model": "taggeditem"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"codename": "view_taggeditem",
|
||||||
|
"ct_app_label": "taggit",
|
||||||
|
"ct_model": "taggeditem"
|
||||||
|
}
|
||||||
|
]
|
|
@ -397,8 +397,8 @@ class OdevzdavatkoTabulkaFiltrForm(forms.Form):
|
||||||
initial = {
|
initial = {
|
||||||
'resitele': cls.RESITELE_RELEVANTNI,
|
'resitele': cls.RESITELE_RELEVANTNI,
|
||||||
'problemy': cls.PROBLEMY_MOJE,
|
'problemy': cls.PROBLEMY_MOJE,
|
||||||
'reseni_od': terminy[-2][0],
|
'reseni_od': terminy[-2],
|
||||||
'reseni_do': terminy[-1][0],
|
'reseni_do': terminy[-1],
|
||||||
}
|
}
|
||||||
return initial
|
return initial
|
||||||
|
|
||||||
|
@ -407,16 +407,17 @@ class OdevzdavatkoTabulkaFiltrForm(forms.Form):
|
||||||
super().__init__(initial=self.gen_initial(), *args, **kwargs)
|
super().__init__(initial=self.gen_initial(), *args, **kwargs)
|
||||||
else:
|
else:
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
# choices jako parametr Select widgetu neumí brát callable, jen iterable, takže si pro jednoduchost můžu rovnou uložit výsledek sem...
|
# choices jako parametr Select widgetu neumí brát callable, jen iterable, takže si pro jednoduchost můžu rovnou uložit výsledek sem...
|
||||||
# A "sem" znamená do libovolné metody, protože jinak se jedná o kód, který django spustí při inicializaci a protože potřebujeme databázi, tak by spadnul při vyrábění testdat...
|
# A "sem" znamená do libovolné metody, protože jinak se jedná o kód, který django spustí při inicializaci a protože potřebujeme databázi, tak by spadnul při vyrábění testdat...
|
||||||
self.terminy = self.gen_terminy()
|
self.terminy = self.gen_terminy()
|
||||||
|
self.fields['reseni_od'].widget = forms.Select(choices=self.gen_terminy())
|
||||||
|
self.fields['reseni_od'].initial = self.terminy[-2]
|
||||||
|
self.fields['reseni_do'].widget = forms.Select(choices=self.gen_terminy())
|
||||||
|
self.fields['reseni_do'].initial = self.terminy[-1]
|
||||||
|
|
||||||
# NOTE: Initial definuji pro jednotlivé fieldy, aby to bylo tady a nebylo potřeba to řešit ve views...
|
# NOTE: Initial definuji pro jednotlivé fieldy, aby to bylo tady a nebylo potřeba to řešit ve views...
|
||||||
resitele = forms.ChoiceField(choices=RESITELE_CHOICES)
|
resitele = forms.ChoiceField(choices=RESITELE_CHOICES)
|
||||||
problemy = forms.ChoiceField(choices=PROBLEMY_CHOICES)
|
problemy = forms.ChoiceField(choices=PROBLEMY_CHOICES)
|
||||||
|
|
||||||
# reseni_od = forms.DateField(input_formats=[DATE_FORMAT], widget=forms.Select(choices=self.terminy))
|
|
||||||
# reseni_do = forms.DateField(input_formats=[DATE_FORMAT], widget=forms.Select(choices=self.terminy))
|
|
||||||
reseni_od = forms.DateField(input_formats=[DATE_FORMAT])
|
reseni_od = forms.DateField(input_formats=[DATE_FORMAT])
|
||||||
reseni_do = forms.DateField(input_formats=[DATE_FORMAT])
|
reseni_do = forms.DateField(input_formats=[DATE_FORMAT])
|
||||||
|
|
32
seminar/management/commands/load_org_permissions.py
Normal file
32
seminar/management/commands/load_org_permissions.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from django.core.management.base import BaseCommand
|
||||||
|
from django.contrib.sessions.models import Session
|
||||||
|
from django.contrib.auth.models import Group, Permission
|
||||||
|
from django.contrib.contenttypes.models import ContentType
|
||||||
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
|
import json
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
class Command(BaseCommand):
|
||||||
|
"""
|
||||||
|
|
||||||
|
"""
|
||||||
|
def add_arguments(self, parser):
|
||||||
|
parser.add_argument('file', nargs=1, type=argparse.FileType('r', encoding='utf8'))
|
||||||
|
|
||||||
|
|
||||||
|
def handle(self, *args, **options):
|
||||||
|
try:
|
||||||
|
orgroup = Group.objects.get(name='org')
|
||||||
|
except ObjectDoesNotExist:
|
||||||
|
orgroup = Group(name='org')
|
||||||
|
orgroup.save()
|
||||||
|
permissions = json.load(options['file'][0])
|
||||||
|
orgroup.permissions.clear()
|
||||||
|
for jp in permissions:
|
||||||
|
ct = ContentType.objects.get(app_label = jp['ct_app_label'], model = jp['ct_model'])
|
||||||
|
perm = Permission.objects.get(content_type = ct, codename = jp['codename'])
|
||||||
|
orgroup.permissions.add(perm)
|
||||||
|
orgroup.save()
|
||||||
|
|
22
seminar/management/commands/save_org_permissions.py
Normal file
22
seminar/management/commands/save_org_permissions.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from django.core.management.base import BaseCommand
|
||||||
|
from django.contrib.sessions.models import Session
|
||||||
|
from django.contrib.auth.models import Group, Permission
|
||||||
|
import json
|
||||||
|
|
||||||
|
class Command(BaseCommand):
|
||||||
|
"""
|
||||||
|
Dump permissions for group 'org' such that them can be used on an other machine.
|
||||||
|
|
||||||
|
"""
|
||||||
|
def handle(self, *args, **options):
|
||||||
|
orgroup = Group.objects.get(name='org')
|
||||||
|
permissions = []
|
||||||
|
for p in orgroup.permissions.all():
|
||||||
|
permissions.append({
|
||||||
|
'codename': p.codename,
|
||||||
|
'ct_app_label': p.content_type.app_label,
|
||||||
|
'ct_model': p.content_type.model})
|
||||||
|
print(json.dumps(permissions))
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<h2><strong>Informace, komunikace</strong></h2>
|
<h2><strong>Informace, komunikace</strong></h2>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong><a href="https://wiki.mam.bezva.org/">wiki</a> </strong>obsahuje různé návody a know-how</li>
|
<li><strong><a href="/wiki/">wiki</a> </strong>obsahuje různé návody a know-how</li>
|
||||||
<li><strong><a href="https://riot.im/app/#/room/#orgovna:dolujeme.eu">Riot</a> </strong>chatování s dalšími orgy</li>
|
<li><strong><a href="https://riot.im/app/#/room/#orgovna:dolujeme.eu">Riot</a> </strong>chatování s dalšími orgy</li>
|
||||||
<li><strong>Kanboard </strong>správa TODO
|
<li><strong>Kanboard </strong>správa TODO
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -80,7 +80,7 @@
|
||||||
<h2><strong>Můj profil</strong></h2>
|
<h2><strong>Můj profil</strong></h2>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="http://127.0.0.1:8000/admin/seminar/organizator/{{ organizator.id }}/change/"><strong>upravit </strong></a></li>
|
<li><a href="/admin/seminar/organizator/{{ organizator.id }}/change/"><strong>upravit </strong></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
|
@ -434,7 +434,8 @@ def gen_cisla(rnd, rocniky):
|
||||||
poradi = str(ci),
|
poradi = str(ci),
|
||||||
datum_vydani=vydano,
|
datum_vydani=vydano,
|
||||||
datum_deadline=deadline,
|
datum_deadline=deadline,
|
||||||
verejne_db=True
|
verejne_db=True,
|
||||||
|
verejna_vysledkovka=True
|
||||||
)
|
)
|
||||||
node2 = CisloNode.objects.create(cislo = cislo, succ = node, root=rocnik.rocniknode)
|
node2 = CisloNode.objects.create(cislo = cislo, succ = node, root=rocnik.rocniknode)
|
||||||
cislo.save()
|
cislo.save()
|
||||||
|
|
|
@ -60,15 +60,16 @@ class TabulkaOdevzdanychReseniView(ListView):
|
||||||
initial = FiltrForm.gen_initial()
|
initial = FiltrForm.gen_initial()
|
||||||
resitele = initial['resitele']
|
resitele = initial['resitele']
|
||||||
problemy = initial['problemy']
|
problemy = initial['problemy']
|
||||||
reseni_od = initial['reseni_od']
|
reseni_od = initial['reseni_od'][0]
|
||||||
reseni_do = initial['reseni_do']
|
reseni_do = initial['reseni_do'][0]
|
||||||
|
|
||||||
|
|
||||||
# Filtrujeme!
|
# Filtrujeme!
|
||||||
aktualni_rocnik = m.Nastaveni.get_solo().aktualni_rocnik # .get_solo() vrátí tu jedinou instanci
|
aktualni_rocnik = m.Nastaveni.get_solo().aktualni_rocnik # .get_solo() vrátí tu jedinou instanci
|
||||||
|
self.chteni_resitele = resitele # Zapamatování pro get_context_data
|
||||||
if resitele == FiltrForm.RESITELE_RELEVANTNI:
|
if resitele == FiltrForm.RESITELE_RELEVANTNI:
|
||||||
logger.warning("Někdo chtěl v tabulce jen relevantní řešitele a měl smůlu :-(")
|
# TODO: Zkontrolovat, že resi_v_rocniku vrací QuerySet (jinak asi bude žrát spoustu zdrojů zbytečně)
|
||||||
resitele = FiltrForm.RESITELE_LETOSNI # Fall-through
|
self.resitele = resi_v_rocniku(aktualni_rocnik) # Prvotní sada, pokud nebude mít body, odstraní se v get_context_data
|
||||||
elif resitele == FiltrForm.RESITELE_LETOSNI:
|
elif resitele == FiltrForm.RESITELE_LETOSNI:
|
||||||
self.resitele = resi_v_rocniku(aktualni_rocnik)
|
self.resitele = resi_v_rocniku(aktualni_rocnik)
|
||||||
|
|
||||||
|
@ -119,16 +120,20 @@ class TabulkaOdevzdanychReseniView(ListView):
|
||||||
pridej_reseni(hodnoceni.problem, resitel, hodnoceni.body, hodnoceni.reseni.cas_doruceni)
|
pridej_reseni(hodnoceni.problem, resitel, hodnoceni.body, hodnoceni.reseni.cas_doruceni)
|
||||||
|
|
||||||
hodnoty = []
|
hodnoty = []
|
||||||
|
resitele_do_tabulky = []
|
||||||
for resitel in self.resitele:
|
for resitel in self.resitele:
|
||||||
|
dostal_body = False
|
||||||
resiteluv_radek = []
|
resiteluv_radek = []
|
||||||
for problem in self.problemy:
|
for problem in self.problemy:
|
||||||
if problem in tabulka and resitel in tabulka[problem]:
|
if problem in tabulka and resitel in tabulka[problem]:
|
||||||
resiteluv_radek.append(tabulka[problem][resitel])
|
resiteluv_radek.append(tabulka[problem][resitel])
|
||||||
|
dostal_body = True
|
||||||
else:
|
else:
|
||||||
resiteluv_radek.append(None)
|
resiteluv_radek.append(None)
|
||||||
hodnoty.append(resiteluv_radek)
|
if self.chteni_resitele != FiltrForm.RESITELE_RELEVANTNI or dostal_body:
|
||||||
ctx['radky'] = list(zip(self.resitele, hodnoty))
|
hodnoty.append(resiteluv_radek)
|
||||||
|
resitele_do_tabulky.append(resitel)
|
||||||
|
ctx['radky'] = list(zip(resitele_do_tabulky, hodnoty))
|
||||||
ctx['filtr'] = FiltrForm(initial=self.request.GET)
|
ctx['filtr'] = FiltrForm(initial=self.request.GET)
|
||||||
# Pro použití hacku na automatické {{form.media}} v template:
|
# Pro použití hacku na automatické {{form.media}} v template:
|
||||||
ctx['form'] = ctx['filtr']
|
ctx['form'] = ctx['filtr']
|
||||||
|
|
Loading…
Reference in a new issue