from django.urls import path, include, re_path from django.contrib.auth.decorators import login_required from . import views, export from .utils import org_required, resitel_required, viewMethodSwitch from django.views.generic.base import RedirectView urlpatterns = [ # path('aktualni/temata/', views.TemataRozcestnikView), # path('/t/', views.TematkoView), # Organizatori path('o-nas/organizatori/', views.CojemamOrganizatoriView.as_view(), name='organizatori'), path('o-nas/organizatori/organizovali/', views.CojemamOrganizatoriStariView.as_view(), name='stari_organizatori'), # Archiv path('archiv/rocniky/', views.ArchivView.as_view(), name="seminar_archiv_rocniky"), path('archiv/temata/', views.ArchivTemataView.as_view(), name="seminar_archiv_temata"), path('rocnik//', views.RocnikView.as_view(), name='seminar_rocnik'), path('cislo/./', views.CisloView.as_view(), name='seminar_cislo'), path('problem//', views.ProblemView.as_view(), name='seminar_problem'), #path('treenode//', views.TreeNodeView.as_view(), name='seminar_treenode'), #path('treenode//json/', views.TreeNodeJSONView.as_view(), name='seminar_treenode_json'), #path('treenode/text//', views.TextWebView.as_view(), name='seminar_textnode_web'), #path('treenode/editor/pridat////', views.TreeNodePridatView.as_view(), name='treenode_pridat'), #path('treenode/editor/smazat//', views.TreeNodeSmazatView.as_view(), name='treenode_smazat'), #path('treenode/editor/odvesitpryc//', views.TreeNodeOdvesitPrycView.as_view(), name='treenode_odvesitpryc'), #path('treenode/editor/podvesit///', views.TreeNodePodvesitView.as_view(), name='treenode_podvesit'), #path('treenode/editor/prohodit//', views.TreeNodeProhoditView.as_view(), name='treenode_prohodit'), #path('treenode/sirotcinec/', views.SirotcinecView.as_view(), name='seminar_treenode_sirotcinec'), #path('problem/(?P\d+)/(?P\d+)/', views.PrispevekView.as_view(), name='seminar_problem_prispevek'), # Soustredeni path( 'soustredeni/probehlo/', views.SoustredeniListView.as_view(), name='seminar_seznam_soustredeni' ), path( 'soustredeni//seznam_ucastniku', org_required(views.SoustredeniUcastniciView.as_view()), name='soustredeni_ucastnici' ), path( 'soustredeni//maily_ucastniku', org_required(views.SoustredeniMailyUcastnikuView.as_view()), name='maily_ucastniku' ), path( 'soustredeni//export_ucastniku', org_required(views.soustredeniUcastniciExportView), name='soustredeni_ucastnici_export' ), path( 'soustredeni//fotogalerie/', include('galerie.urls') ), # Zadani # path('aktualni/zadani/', views.AktualniZadaniView.as_view(), name='seminar_aktualni_zadani'), # Dočasně ad-hoc jednoduchá věc. path('aktualni/zadani/', views.AktualniZadaniView, name='seminar_aktualni_zadani'), #path('aktualni/temata/', views.ZadaniTemataView, name='seminar_temata'), path('aktualni/vysledkova-listina/', views.ZadaniAktualniVysledkovkaView, name='seminar_aktualni_vysledky'), path('stare-novinky/', views.StareNovinkyView.as_view(), name='stare_novinky'), # Clanky path('archiv/clanky/', views.ClankyResitelView.as_view(), name='clanky_resitel'), #path('clanky/org/', views.ClankyOrganizatorView.as_view(), name='clanky_organizator'), # Aesop path( 'aesop-export/mam-rocnik-.csv', org_required(export.ExportRocnikView.as_view()), name='seminar_export_rocnik' ), path( 'aesop-export/mam-sous-.csv', org_required(export.ExportSousView.as_view()), name='seminar_export_sous' ), path( 'aesop-export/index.csv', org_required(export.ExportIndexView.as_view()), name='seminar_export_index' ), # Stranky viditelne pouze pro orgy: path( 'rocnik//vysledkovka.tex', org_required(views.RocnikVysledkovkaView.as_view()), name='seminar_rocnik_vysledkovka' ), path( 'cislo/./vysledkovka.tex', org_required(views.CisloVysledkovkaView.as_view()), name='seminar_cislo_vysledkovka' ), path( 'cislo/./obalky.pdf', org_required(views.cisloObalkyView), name='seminar_cislo_obalky' ), path( 'cislo/./tituly.tex', org_required(views.TitulyView), name='seminar_cislo_titul' ), path( 'stav', org_required(views.StavDatabazeView), name='stav_databaze' ), path( 'cislo/./obalkovani', org_required(views.ObalkovaniView.as_view()), name='seminar_cislo_resitel_obalkovani' ), path( 'cislo/./odmeny/./', org_required(views.OdmenyView.as_view()), name="seminar_archiv_odmeny"), path( 'soustredeni//obalky.pdf', org_required(views.soustredeniObalkyView), name='seminar_soustredeni_obalky' ), # příprava na nestatický orgorozcestník path( 'org/rozcestnik/', org_required(views.OrgoRozcestnikView.as_view()), name='seminar_org_rozcestnik' ), path('prihlaska/',views.prihlaskaView, name='seminar_prihlaska'), path('prihlasit/', views.LoginView.as_view(), name='login'), path('odhlasit/', views.LogoutView.as_view(), name='logout'), path('resitel/', resitel_required(views.ResitelView.as_view()), name='seminar_resitel'), path('reset-hesla/', views.PasswordResetView.as_view(), name='reset_password'), path('zmena-hesla/', views.PasswordChangeView.as_view(), name='change_password'), path('reset-hesla/2/', views.PasswordResetDoneView.as_view(), name='reset_password_done'), path('reset-hesla/potvrzeni///', views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'), path('reset-hesla/hotovo/', views.PasswordResetCompleteView.as_view(), name='reset_password_complete'), path( 'resitel/osobni-udaje/', login_required(views.resitelEditView), name='seminar_resitel_edit' ), # Obecný view na profil -- orgům dá rozcestník, řešitelům jejich stránku path('profil/', views.profilView, name='profil'), # Autocomplete path('api/autocomplete/skola/',views.SkolaAutocomplete.as_view(), name='autocomplete_skola'), path('api/autocomplete/resitel/', org_required(views.ResitelAutocomplete.as_view()), name='autocomplete_resitel'), path('api/autocomplete/problem/odevzdatelny',views.OdevzdatelnyProblemAutocomplete.as_view(), name='autocomplete_problem_odevzdatelny'), path('temp/add_solution', org_required(views.AddSolutionView.as_view()), name='seminar_vloz_reseni'), path('resitel/nahraj_reseni', resitel_required(views.NahrajReseniView.as_view()), name='seminar_nahraj_reseni'), re_path(r'^temp/vue/.*$',views.VueTestView.as_view(),name='vue_test_view'), path('temp/image_upload/', views.NahrajObrazekKTreeNoduView.as_view()), path('', views.TitulniStranaView.as_view(), name='titulni_strana'), path('jak-resit/', views.JakResitView.as_view(), name='jak_resit'), # Ceka na autocomplete v3 # path('autocomplete/organizatori/', # org_member_required(views.OrganizatorAutocomplete.as_view()), # name='seminar_autocomplete_organizator') path('temp/reseni/', org_required(views.TabulkaOdevzdanychReseniView.as_view()), name='odevzdavatko_tabulka'), path('temp/reseni///', org_required(views.ReseniProblemuView.as_view()), name='odevzdavatko_reseni_resitele_k_problemu'), path('temp/reseni/', org_required(viewMethodSwitch(get=views.DetailReseniView.as_view(), post=views.hodnoceniReseniView)), name='odevzdavatko_detail_reseni'), path('temp/reseni/all', org_required(views.SeznamReseniView.as_view())), path('temp/reseni/akt', org_required(views.SeznamAktualnichReseniView.as_view())), ]