seminar¶
Zde bývalo vše. Teď tu zbývají všechny modely a části webu jako archiv, přehled orgů, aktuální (k aktuálnímu číslu) věci, titulka a jak řešit.
Také je tu generování testovacích (lokálních) dat.
- seminar.management
- seminar.management.commands
- seminar.models
- seminar.models.base
- seminar.models.novinky
- seminar.models.odevzdavatko
ReseniReseni.idReseni.problemReseni.resiteleReseni.cas_doruceniReseni.FORMA_PAPIRReseni.FORMA_EMAILReseni.FORMA_UPLOADReseni.FORMA_CHOICESReseni.formaReseni.text_celyReseni.poznamkaReseni.zverejnenoReseni.verejne_url()Reseni.absolute_url()Reseni.sum_body()Reseni.deadline_reseni()Reseni.DoesNotExistReseni.MultipleObjectsReturnedReseni.get_forma_display()Reseni.get_next_by_cas_doruceni()Reseni.get_previous_by_cas_doruceni()Reseni.hodnoceni_setReseni.objectsReseni.prilohyReseni.reseni_resitele_setReseni.reseninode_setReseni.text_cely_id
Hodnocenigenerate_filename()PrilohaReseniPrilohaReseni.idPrilohaReseni.reseniPrilohaReseni.vytvorenoPrilohaReseni.souborPrilohaReseni.poznamkaPrilohaReseni.res_poznamkaPrilohaReseni.split()PrilohaReseni.DoesNotExistPrilohaReseni.MultipleObjectsReturnedPrilohaReseni.get_next_by_vytvoreno()PrilohaReseni.get_previous_by_vytvoreno()PrilohaReseni.objectsPrilohaReseni.reseni_id
Reseni_ResiteleReseniNodeReseniNode.reseniReseniNode.aktualizuj_nazev()ReseniNode.getOdkazStr()ReseniNode.DoesNotExistReseniNode.MultipleObjectsReturnedReseniNode.polymorphic_primary_key_nameReseniNode.polymorphic_super_sub_accessors_replacedReseniNode.reseni_cely_setReseniNode.reseni_idReseniNode.treenode_ptrReseniNode.treenode_ptr_id
- seminar.models.personalni
OsobaOsoba.idOsoba.jmenoOsoba.prijmeniOsoba.prezdivkaOsoba.userOsoba.pohlavi_muzOsoba.emailOsoba.telefonOsoba.datum_narozeniOsoba.datum_souhlasu_udajeOsoba.datum_souhlasu_zasilaniOsoba.datum_registraceOsoba.uliceOsoba.mestoOsoba.pscOsoba.statOsoba.jak_se_dozvedeliOsoba.poznamkaOsoba.fotoOsoba.foto_maleOsoba.plne_jmeno()Osoba.inicial_krestni()Osoba.save()Osoba.DoesNotExistOsoba.MultipleObjectsReturnedOsoba.get_next_by_datum_registrace()Osoba.get_previous_by_datum_registrace()Osoba.get_stat_display()Osoba.objectsOsoba.orgOsoba.prijemceOsoba.resitelOsoba.skola_setOsoba.user_id
SkolaSkola.idSkola.aesop_idSkola.izoSkola.nazevSkola.kratky_nazevSkola.uliceSkola.mestoSkola.pscSkola.statSkola.je_zsSkola.je_ssSkola.poznamkaSkola.kontaktni_osobaSkola.DoesNotExistSkola.MultipleObjectsReturnedSkola.get_stat_display()Skola.kontaktni_osoba_idSkola.objectsSkola.resitel_set
PrijemceResitelResitel.idResitel.osobaResitel.skolaResitel.rok_maturityResitel.ZASILAT_DOMUResitel.ZASILAT_DO_SKOLYResitel.ZASILAT_NIKAMResitel.ZASILAT_CHOICESResitel.zasilatResitel.zasilat_cislo_emailemResitel.poznamkaResitel.export_row()Resitel.rocnik()Resitel.vsechny_body()Resitel.get_titul()Resitel.DoesNotExistResitel.MultipleObjectsReturnedResitel.get_zasilat_display()Resitel.konfera_setResitel.konfery_ucastnici_setResitel.objectsResitel.osoba_idResitel.reseni_resitele_setResitel.reseni_setResitel.skola_idResitel.soustredeni_setResitel.soustredeni_ucastnici_set
OrganizatorOrganizator.osobaOrganizator.vytvorenoOrganizator.organizuje_odOrganizator.organizuje_doOrganizator.studujeOrganizator.strucny_popis_organizatoraOrganizator.skolaOrganizator.clean()Organizator.DoesNotExistOrganizator.MultipleObjectsReturnedOrganizator.autor_problemu_problemOrganizator.garant_problemu_problemOrganizator.get_next_by_vytvoreno()Organizator.get_previous_by_vytvoreno()Organizator.idOrganizator.komentar_setOrganizator.korekturovanepdf_setOrganizator.novinky_setOrganizator.objectsOrganizator.oprava_setOrganizator.opravovatele_problemOrganizator.orgtextnode_setOrganizator.osoba_idOrganizator.pohadka_setOrganizator.prednaska_setOrganizator.soustredeni_organizatori_setOrganizator.soustredeni_set
- seminar.models.pomocne
- seminar.models.soustredeni
SoustredeniSoustredeni.idSoustredeni.rocnikSoustredeni.datum_zacatkuSoustredeni.datum_konceSoustredeni.verejne_dbSoustredeni.mistoSoustredeni.ucastniciSoustredeni.organizatoriSoustredeni.textSoustredeni.TYP_JARNISoustredeni.TYP_PODZIMNISoustredeni.TYP_VIKENDSoustredeni.TYP_VYLETSoustredeni.TYP_CHOICESSoustredeni.typSoustredeni.exportovatSoustredeni.verejne()Soustredeni.verejne_url()Soustredeni.DoesNotExistSoustredeni.MultipleObjectsReturnedSoustredeni.galerie_setSoustredeni.get_typ_display()Soustredeni.konferySoustredeni.objectsSoustredeni.rocnik_idSoustredeni.seznam_setSoustredeni.soustredeni_organizatori_setSoustredeni.soustredeni_ucastnici_set
Soustredeni_UcastniciSoustredeni_Ucastnici.idSoustredeni_Ucastnici.resitelSoustredeni_Ucastnici.soustredeniSoustredeni_Ucastnici.poznamkaSoustredeni_Ucastnici.DoesNotExistSoustredeni_Ucastnici.MultipleObjectsReturnedSoustredeni_Ucastnici.objectsSoustredeni_Ucastnici.resitel_idSoustredeni_Ucastnici.soustredeni_id
Soustredeni_OrganizatoriSoustredeni_Organizatori.idSoustredeni_Organizatori.organizatorSoustredeni_Organizatori.soustredeniSoustredeni_Organizatori.poznamkaSoustredeni_Organizatori.DoesNotExistSoustredeni_Organizatori.MultipleObjectsReturnedSoustredeni_Organizatori.objectsSoustredeni_Organizatori.organizator_idSoustredeni_Organizatori.soustredeni_id
generate_filename_konfera()KonferaKonfera.anotaceKonfera.abstraktKonfera.ucastniciKonfera.soustredeniKonfera.TYP_VELETRHKonfera.TYP_PREZENTACEKonfera.TYP_CHOICESKonfera.typ_prezentaceKonfera.prezentaceKonfera.materialyKonfera.cislo_node()Konfera.DoesNotExistKonfera.MultipleObjectsReturnedKonfera.get_typ_prezentace_display()Konfera.konfery_ucastnici_setKonfera.polymorphic_primary_key_nameKonfera.polymorphic_super_sub_accessors_replacedKonfera.problem_ptrKonfera.problem_ptr_idKonfera.soustredeni_idKonfera.tagged_items
Konfery_Ucastnici
- seminar.models.treenode
TreeNodeTreeNode.rootTreeNode.first_childTreeNode.succTreeNode.nazevTreeNode.zajimaveTreeNode.srolovatelneTreeNode.getOdkazStr()TreeNode.getOdkaz()TreeNode.save()TreeNode.aktualizuj_nazev()TreeNode.get_admin_url()TreeNode.DoesNotExistTreeNode.MultipleObjectsReturnedTreeNode.castnodeTreeNode.cislonodeTreeNode.father_of_firstTreeNode.first_child_idTreeNode.idTreeNode.mezicislonodeTreeNode.orgtextnodeTreeNode.pohadkanodeTreeNode.polymorphic_ctypeTreeNode.polymorphic_primary_key_nameTreeNode.polymorphic_super_sub_accessors_replacedTreeNode.potomci_setTreeNode.prevTreeNode.reseninodeTreeNode.rocniknodeTreeNode.root_idTreeNode.succ_idTreeNode.temavcislenodeTreeNode.textnodeTreeNode.ulohavzoraknodeTreeNode.ulohazadaninode
RocnikNodeCisloNodeMezicisloNodeTemaVCisleNodeTemaVCisleNode.temaTemaVCisleNode.aktualizuj_nazev()TemaVCisleNode.getOdkazStr()TemaVCisleNode.DoesNotExistTemaVCisleNode.MultipleObjectsReturnedTemaVCisleNode.polymorphic_primary_key_nameTemaVCisleNode.polymorphic_super_sub_accessors_replacedTemaVCisleNode.tema_idTemaVCisleNode.treenode_ptrTemaVCisleNode.treenode_ptr_id
OrgTextNodeOrgTextNode.organizatorOrgTextNode.org_verejnyOrgTextNode.aktualizuj_nazev()OrgTextNode.DoesNotExistOrgTextNode.MultipleObjectsReturnedOrgTextNode.organizator_idOrgTextNode.polymorphic_primary_key_nameOrgTextNode.polymorphic_super_sub_accessors_replacedOrgTextNode.treenode_ptrOrgTextNode.treenode_ptr_id
UlohaZadaniNodeUlohaZadaniNode.ulohaUlohaZadaniNode.aktualizuj_nazev()UlohaZadaniNode.getOdkazStr()UlohaZadaniNode.DoesNotExistUlohaZadaniNode.MultipleObjectsReturnedUlohaZadaniNode.polymorphic_primary_key_nameUlohaZadaniNode.polymorphic_super_sub_accessors_replacedUlohaZadaniNode.treenode_ptrUlohaZadaniNode.treenode_ptr_idUlohaZadaniNode.uloha_id
PohadkaNodeUlohaVzorakNodeUlohaVzorakNode.ulohaUlohaVzorakNode.aktualizuj_nazev()UlohaVzorakNode.getOdkazStr()UlohaVzorakNode.DoesNotExistUlohaVzorakNode.MultipleObjectsReturnedUlohaVzorakNode.polymorphic_primary_key_nameUlohaVzorakNode.polymorphic_super_sub_accessors_replacedUlohaVzorakNode.treenode_ptrUlohaVzorakNode.treenode_ptr_idUlohaVzorakNode.uloha_id
TextNodeCastNode
- seminar.models.tvorba
OverwriteStorageRocnikRocnik.idRocnik.prvni_rokRocnik.rocnikRocnik.exportovatRocnik.roman()Rocnik.verejne()Rocnik.neverejna_cisla()Rocnik.verejna_cisla()Rocnik.posledni_verejne_cislo()Rocnik.verejne_vysledkovky_cisla()Rocnik.posledni_zverejnena_vysledkovka_cislo()Rocnik.druhy_rok()Rocnik.verejne_url()Rocnik.cached_rocnik()Rocnik.save()Rocnik.DoesNotExistRocnik.MultipleObjectsReturnedRocnik.cislaRocnik.objectsRocnik.rocniknodeRocnik.soustredeniRocnik.temata
cislo_pdf_filename()cislo_png_filename()CisloCislo.idCislo.rocnikCislo.poradiCislo.datum_vydaniCislo.verejne_dbCislo.poznamkaCislo.pdfCislo.titulka_nahledCislo.kod()Cislo.verejne()Cislo.verejne_url()Cislo.absolute_url()Cislo.nasledujici()Cislo.predchozi()Cislo.relativni_v_rocniku()Cislo.vygeneruj_nahled()Cislo.get()Cislo.posli_cislo_mailem()Cislo.save()Cislo.zlomovy_deadline_pro_papirove_cislo()Cislo.posledni_deadlineCislo.DoesNotExistCislo.MultipleObjectsReturnedCislo.cislonodeCislo.deadline_v_cisleCislo.deadlinove_ulohyCislo.hodnoceniCislo.nastaveni_setCislo.objectsCislo.resene_ulohyCislo.rocnik_idCislo.vydane_clankyCislo.zadane_ulohy
DeadlineDeadline.idDeadline.deadlineDeadline.cisloDeadline.TYP_CISLADeadline.TYP_PRVNI_A_SOUSDeadline.TYP_PRVNIDeadline.TYP_SOUSDeadline.TYP_CHOICESDeadline.CHOICES_MAPDeadline.typDeadline.verejna_vysledkovkaDeadline.save()Deadline.vygeneruj_vysledkovku()Deadline.DoesNotExistDeadline.MultipleObjectsReturnedDeadline.cislo_idDeadline.get_next_by_deadline()Deadline.get_previous_by_deadline()Deadline.get_typ_display()Deadline.hodnoceniDeadline.objectsDeadline.vysledkovka_v_deadlinu
ZmrazenaVysledkovkaProblemProblem.idProblem.nazevProblem.nadproblemProblem.STAV_NAVRHProblem.STAV_ZADANYProblem.STAV_VYRESENYProblem.STAV_SMAZANYProblem.STAV_CHOICESProblem.stavProblem.zamereniProblem.poznamkaProblem.autorProblem.garantProblem.opravovateleProblem.kodProblem.vytvorenoProblem.kod_v_rocnikuProblem.verejne_url()Problem.admin_url()Problem.hlavni_problemProblem.body_v_zavorce()Problem.DoesNotExistProblem.MultipleObjectsReturnedProblem.autor_idProblem.clanekProblem.garant_idProblem.get_next_by_vytvoreno()Problem.get_previous_by_vytvoreno()Problem.get_stav_display()Problem.hodnoceniProblem.konferaProblem.nadproblem_idProblem.podproblemProblem.polymorphic_ctypeProblem.polymorphic_primary_key_nameProblem.polymorphic_super_sub_accessors_replacedProblem.reseni_setProblem.tagged_itemsProblem.temaProblem.uloha
TemaTema.TEMA_TEMATema.TEMA_SERIALTema.TEMA_CHOICESTema.tema_typTema.rocnikTema.abstraktTema.obrazekTema.kod_v_rocnikuTema.save()Tema.cislo_node()Tema.DoesNotExistTema.MultipleObjectsReturnedTema.get_tema_typ_display()Tema.polymorphic_primary_key_nameTema.polymorphic_super_sub_accessors_replacedTema.problem_ptrTema.problem_ptr_idTema.rocnik_idTema.tagged_itemsTema.temavcislenode_set
ClanekUlohaUloha.cislo_zadaniUloha.cislo_deadlineUloha.cislo_reseniUloha.max_bodyUloha.kod_v_rocnikuUloha.save()Uloha.cislo_node()Uloha.DoesNotExistUloha.MultipleObjectsReturnedUloha.cislo_deadline_idUloha.cislo_reseni_idUloha.cislo_zadani_idUloha.polymorphic_primary_key_nameUloha.polymorphic_super_sub_accessors_replacedUloha.problem_ptrUloha.problem_ptr_idUloha.tagged_itemsUloha.ulohavzoraknodeUloha.ulohazadaninode
aux_generate_filename()PohadkaNastaveni
- seminar.templatetags
- seminar.views
- seminar.views.docasne
- seminar.views.views_all
get_problemy_k_tematu()ObalkovaniViewAktualniZadaniView()ZadaniTemataView()ZadaniAktualniVysledkovkaView()spravne_novinky()aktualni_temata()TitulniStranaViewStareNovinkyViewaktivniOrganizatori()CojemamOrganizatoriViewCojemamOrganizatoriStariViewArchivViewRocnikViewresiteleRocnikuCsvExportView()CisloViewArchivTemataViewOdmenyViewCisloVysledkovkaViewPosledniCisloVysledkovkaViewRocnikVysledkovkaViewcisloObalkyView()obalkyView()oldObalkovaniView()TitulyViewRocnik()TitulyView()group_by_rocnik()ClankyResitelViewStavDatabazeView()formularOKView()JakResitViewAktualniRocnikRedirectView
seminar.admin¶
- class seminar.admin.DeadlineAdminInline(parent_model, admin_site)[zdroj]¶
Bases:
TabularInline- extra = 0¶
- property media¶
- class seminar.admin.CisloForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)[zdroj]¶
Bases:
ModelForm- base_fields = {'datum_vydani': <django.forms.fields.DateField object>, 'pdf': <django.forms.fields.FileField object>, 'poradi': <django.forms.fields.CharField object>, 'poznamka': <django.forms.fields.CharField object>, 'rocnik': <django.forms.models.ModelChoiceField object>, 'titulka_nahled': <django.forms.fields.ImageField object>, 'verejne_db': <django.forms.fields.BooleanField object>}¶
- declared_fields = {}¶
- property media¶
- class seminar.admin.CisloAdmin(model, admin_site)[zdroj]¶
Bases:
ModelAdmin- actions = ['force_publish']¶
- inlines = (<class 'seminar.admin.DeadlineAdminInline'>,)¶
- property media¶
- class seminar.admin.ProblemAdmin(model, admin_site, *args, **kwargs)[zdroj]¶
Bases:
PolymorphicParentModelAdmin- child_models = [<class 'seminar.models.tvorba.Tema'>, <class 'seminar.models.tvorba.Clanek'>, <class 'seminar.models.tvorba.Uloha'>, <class 'seminar.models.soustredeni.Konfera'>]¶
The child models that should be displayed
- search_fields = ['nazev']¶
- property media¶
- class seminar.admin.ProblemAdminMixin[zdroj]¶
Bases:
object- show_in_index = True¶
- autocomplete_fields = ['nadproblem', 'autor', 'garant']¶
- filter_horizontal = ['opravovatele']¶
- class seminar.admin.TemaAdmin(model, admin_site, *args, **kwargs)[zdroj]¶
Bases:
ProblemAdminMixin,PolymorphicChildModelAdmin- property media¶
- class seminar.admin.ClanekAdmin(model, admin_site, *args, **kwargs)[zdroj]¶
Bases:
ProblemAdminMixin,PolymorphicChildModelAdmin- property media¶
- class seminar.admin.UlohaAdmin(model, admin_site, *args, **kwargs)[zdroj]¶
Bases:
ProblemAdminMixin,PolymorphicChildModelAdmin- property media¶
- class seminar.admin.KonferaAdmin(model, admin_site, *args, **kwargs)[zdroj]¶
Bases:
ProblemAdminMixin,PolymorphicChildModelAdmin- property media¶
seminar.testutils¶
- seminar.testutils.gen_zadani_ulohy(rnd, cisla, organizatori, pocet_oboru, poradi_cisla, poradi_problemu)[zdroj]¶
- seminar.testutils.gen_reseni_ulohy(rnd, cisla, uloha, pocet_resitelu, poradi_cisla, resitele_cisla, resitele)[zdroj]¶
- seminar.testutils.gen_ulohy_do_cisla(rnd, organizatori, resitele, rocnik_cisla, rocniky, size)[zdroj]¶
- seminar.testutils.gen_ulohy_tematu(rnd, organizatori, resitele, tema, kod, cislo, cislo_se_vzorakem)[zdroj]¶
Generování úlohy k danému tématu.
seminar.urls¶
Soubor sloužící jako „router“, tj. zde se definují url adresy a na co ukazují:
- Organizátoři
o-nas/organizatori/(organizatori)CojemamOrganizatoriViewo-nas/organizatori/organizovali/(stari_organizatori)CojemamOrganizatoriStariView
- Archiv
archiv/rocniky/(seminar_archiv_rocniky)ArchivViewarchiv/temata/(seminar_archiv_temata)ArchivTemataViewrocnik/<int:rocnik>/(seminar_rocnik)RocnikViewcislo/<int:rocnik>.<str:cislo>/(seminar_cislo)CisloViewproblem/<int:pk>/(seminar_problem)problemView()
- Zadání
aktualni/zadani/(seminar_aktualni_zadani)AktualniZadaniView()aktualni/vysledkova-listina/(seminar_aktualni_vysledky)ZadaniAktualniVysledkovkaView()aktualni/rocnik/(seminar_aktualni_rocnik)AktualniRocnikRedirectView
- Články
archiv/clanky/(clanky_resitel)ClankyResitelView
- Orgovské stránky
rocnik/<int:rocnik>/vysledkovka.tex(seminar_rocnik_vysledkovka)RocnikVysledkovkaViewrocnik/<int:rocnik>/resitele.csv(seminar_rocnik_resitele_csv)resiteleRocnikuCsvExportView()cislo/<int:rocnik>.<str:cislo>/vysledkovka.tex(seminar_cislo_vysledkovka)CisloVysledkovkaViewcislo/<int:rocnik>.<str:cislo>/obalky.pdf(seminar_cislo_obalky)cisloObalkyView()cislo/<int:rocnik>.<str:cislo>/tituly.tex(seminar_cislo_titul)TitulyView()stav(stav_databaze)StavDatabazeView()cislo/<int:rocnik>.<str:cislo>/obalkovani(seminar_cislo_resitel_obalkovani)ObalkovaniViewcislo/<int:trocnik>.<str:tcislo>/odmeny/<int:frocnik>.<str:fcislo>/(seminar_archiv_odmeny)OdmenyView
- Další
`` `` (titulni_strana)
TitulniStranaViewjak-resit/(jak_resit)JakResitViewstare-novinky/(stare_novinky)StareNovinkyView
seminar.utils¶
- class seminar.utils.FirstTagParser(*args, **kwargs)[zdroj]¶
Bases:
HTMLParser
- seminar.utils.seznam_problemu()[zdroj]¶
Funkce pro hledání nekonzistencí v databázi a dalších nežádoucích stavů webu/databáze.
Nijak nesouvisí s Problémy zadanými řešitelům.
- seminar.utils.resi_v_rocniku(rocnik, cislo=None)[zdroj]¶
Vrátí seznam řešitelů, co vyřešili nějaký problém v daném ročníku, do daného čísla. Parametry:
rocnik (typu Rocnik) ročník, ze kterého chci řešitele, co něco odevzdali cislo (typu Cislo) číslo, do kterého včetně se počítá, že v daném
ročníku řešitel něco poslal. Pokud není zadané, počítají se všechna řešení z daného ročníku.
- Výstup:
QuerySet objektů typu Resitel
- seminar.utils.aktivniResitele(cislo, pouze_letosni=False)[zdroj]¶
Vrací QuerySet aktivních řešitelů, což jsou ti, co ještě neodmaturovali a letos něco poslali (anebo loni něco poslali, pokud jde o první tři čísla). Parametry:
cislo (typu Cislo) číslo, o které se jedná pouze_letosni jen řešitelé, kteří tento rok něco poslali
- seminar.utils.viewMethodSwitch(get, post)[zdroj]¶
Vrátí view, který zavolá různé jiné views podle toho, kterou metodou je zavolán.
Inspirováno https://docs.djangoproject.com/en/3.1/topics/class-based-views/mixins/#an-alternative-better-solution, jen jsem to udělal genericky.
- Parametry:
post view pro metodu POST get view pro metodu GET
V obou případech se míní už view jakožto funkce, takže u class-based views se už má použít .as_view()
TODO: Podpora i pro metodu HEAD? A možná i pro FILES?
- seminar.utils.sync_skoly(base_url)[zdroj]¶
Stáhne všechny školy z mamwebu na adrese <base_url> a uloží je do databáze