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 = { | ||||
| 			'resitele': cls.RESITELE_RELEVANTNI, | ||||
| 			'problemy': cls.PROBLEMY_MOJE, | ||||
| 			'reseni_od': terminy[-2][0], | ||||
| 			'reseni_do': terminy[-1][0], | ||||
| 			'reseni_od': terminy[-2], | ||||
| 			'reseni_do': terminy[-1], | ||||
| 		} | ||||
| 		return initial | ||||
| 
 | ||||
|  | @ -407,16 +407,17 @@ class OdevzdavatkoTabulkaFiltrForm(forms.Form): | |||
| 			super().__init__(initial=self.gen_initial(), *args, **kwargs) | ||||
| 		else: | ||||
| 			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... | ||||
| 		# 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.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... | ||||
| 	resitele = forms.ChoiceField(choices=RESITELE_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_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> | ||||
| 
 | ||||
| <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>Kanboard </strong>správa TODO | ||||
| 	<ul> | ||||
|  | @ -80,7 +80,7 @@ | |||
| <h2><strong>Můj profil</strong></h2> | ||||
| 
 | ||||
| <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> | ||||
| 
 | ||||
| <hr /> | ||||
|  |  | |||
|  | @ -434,7 +434,8 @@ def gen_cisla(rnd, rocniky): | |||
| 				poradi = str(ci),  | ||||
| 				datum_vydani=vydano, | ||||
| 				datum_deadline=deadline, | ||||
| 				verejne_db=True | ||||
| 				verejne_db=True, | ||||
| 				verejna_vysledkovka=True | ||||
| 			) | ||||
| 			node2 = CisloNode.objects.create(cislo = cislo, succ = node, root=rocnik.rocniknode) | ||||
| 			cislo.save() | ||||
|  |  | |||
|  | @ -60,15 +60,16 @@ class TabulkaOdevzdanychReseniView(ListView): | |||
| 			initial = FiltrForm.gen_initial() | ||||
| 			resitele = initial['resitele'] | ||||
| 			problemy = initial['problemy'] | ||||
| 			reseni_od = initial['reseni_od'] | ||||
| 			reseni_do = initial['reseni_do'] | ||||
| 			reseni_od = initial['reseni_od'][0] | ||||
| 			reseni_do = initial['reseni_do'][0] | ||||
| 			 | ||||
| 
 | ||||
| 		# Filtrujeme! | ||||
| 		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: | ||||
| 			logger.warning("Někdo chtěl v tabulce jen relevantní řešitele a měl smůlu :-(") | ||||
| 			resitele = FiltrForm.RESITELE_LETOSNI # Fall-through | ||||
| 			# TODO: Zkontrolovat, že resi_v_rocniku vrací QuerySet (jinak asi bude žrát spoustu zdrojů zbytečně) | ||||
| 			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: | ||||
| 			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) | ||||
| 
 | ||||
| 		hodnoty = [] | ||||
| 		resitele_do_tabulky = [] | ||||
| 		for resitel in self.resitele: | ||||
| 			dostal_body = False | ||||
| 			resiteluv_radek = [] | ||||
| 			for problem in self.problemy: | ||||
| 				if problem in tabulka and resitel in tabulka[problem]: | ||||
| 					resiteluv_radek.append(tabulka[problem][resitel]) | ||||
| 					dostal_body = True | ||||
| 				else: | ||||
| 					resiteluv_radek.append(None) | ||||
| 			hodnoty.append(resiteluv_radek) | ||||
| 		ctx['radky'] = list(zip(self.resitele, hodnoty)) | ||||
| 
 | ||||
| 			if self.chteni_resitele != FiltrForm.RESITELE_RELEVANTNI or dostal_body: | ||||
| 				hodnoty.append(resiteluv_radek) | ||||
| 				resitele_do_tabulky.append(resitel) | ||||
| 		ctx['radky'] = list(zip(resitele_do_tabulky, hodnoty)) | ||||
| 		ctx['filtr'] = FiltrForm(initial=self.request.GET) | ||||
| 		# Pro použití hacku na automatické {{form.media}} v template: | ||||
| 		ctx['form'] = ctx['filtr'] | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Pavel "LEdoian" Turinsky
						Pavel "LEdoian" Turinsky