|
|
|
from django.conf.urls import * # NOQA
|
|
|
|
from django.conf.urls import url, include
|
|
|
|
from django.contrib.auth.decorators import user_passes_test
|
|
|
|
from . import views, export
|
|
|
|
from utils import staff_member_required
|
|
|
|
from django.views.generic.base import RedirectView
|
|
|
|
|
|
|
|
staff_member_required = user_passes_test(lambda u: u.is_staff)
|
|
|
|
|
|
|
|
urlpatterns = [
|
|
|
|
# REDIRECTy
|
|
|
|
url(r'^jak-resit/$', RedirectView.as_view(url='/co-je-MaM/jak-resit/')),
|
|
|
|
|
|
|
|
# Organizatori
|
|
|
|
url(r'^co-je-MaM/organizatori/$', views.CojemamOrganizatoriView.as_view(), name='organizatori'),
|
|
|
|
url(r'^co-je-MaM/organizatori/organizovali/$', views.CojemamOrganizatoriStariView.as_view(), name='stari_organizatori'),
|
|
|
|
|
|
|
|
# Archiv
|
|
|
|
url(r'^archiv/cisla/$', views.ArchivView.as_view()),
|
|
|
|
url(r'^archiv/temata/$', views.ArchivTemataView.as_view()),
|
|
|
|
|
|
|
|
url(r'^rocnik/(?P<rocnik>\d+)/$', views.RocnikView.as_view(), name='seminar_rocnik'),
|
|
|
|
url(r'^cislo/(?P<rocnik>\d+)\.(?P<cislo>.+)/$', views.CisloView.as_view(), name='seminar_cislo'),
|
|
|
|
url(r'^problem/(?P<pk>\d+)/$', views.ProblemView.as_view(), name='seminar_problem'),
|
|
|
|
url(r'^problem/(?P<pk>\d+)/(?P<prispevek>\d+)/$', views.PrispevekView.as_view(), name='seminar_problem_prispevek'),
|
|
|
|
|
|
|
|
# Soustredeni
|
|
|
|
url(
|
|
|
|
r'^soustredeni/probehlo/$',
|
|
|
|
views.SoustredeniListView.as_view(),
|
|
|
|
name='seminar_seznam_soustredeni'
|
|
|
|
),
|
|
|
|
url(
|
|
|
|
r'^soustredeni/probehlo/(?P<soustredeni>\d+)/$',
|
|
|
|
views.SoustredeniView.as_view(),
|
|
|
|
name='seminar_soustredeni'
|
|
|
|
),
|
|
|
|
url(
|
|
|
|
r'^soustredeni/(?P<soustredeni>\d+)/seznam_ucastniku$',
|
|
|
|
staff_member_required(views.SoustredeniUcastniciView.as_view()),
|
|
|
|
name='soustredeni_ucastnici'
|
|
|
|
),
|
|
|
|
url(
|
|
|
|
r'^soustredeni/(?P<soustredeni>\d+)/maily_ucastniku$',
|
|
|
|
staff_member_required(views.SoustredeniMailyUcastnikuView.as_view()),
|
|
|
|
name='maily_ucastniku'
|
|
|
|
),
|
|
|
|
url(
|
|
|
|
r'^soustredeni/(?P<soustredeni>\d+)/stvrzenky/(?P<first_num>\d+)$',
|
|
|
|
staff_member_required(views.soustredeniStvrzenkyExportView),
|
|
|
|
name='soustredeni_stvrzenky'
|
|
|
|
),
|
|
|
|
url(
|
|
|
|
r'^soustredeni/(?P<soustredeni>\d+)/export_ucastniku$',
|
|
|
|
staff_member_required(views.soustredeniUcastniciExportView),
|
|
|
|
name='soustredeni_ucastnici_export'
|
|
|
|
),
|
|
|
|
url(
|
|
|
|
r'^soustredeni/(?P<soustredeni>\d+)/fotogalerie/',
|
|
|
|
include('galerie.urls')
|
|
|
|
),
|
|
|
|
|
|
|
|
# Zadani
|
|
|
|
url(r'^zadani/aktualni/$', views.AktualniZadaniView, name='seminar_aktualni_zadani'),
|
|
|
|
url(r'^zadani/temata/$', views.ZadaniTemataView, name='seminar_temata'),
|
|
|
|
url(r'^zadani/vysledkova-listina/$', views.ZadaniAktualniVysledkovkaView, name='seminar_vysledky'),
|
|
|
|
url(r'^$', views.TitulniStranaView.as_view(), name='titulni_strana'),
|
|
|
|
url(r'^stare-novinky/$', views.StareNovinkyView.as_view(), name='stare_novinky'),
|
|
|
|
|
|
|
|
# Clanky
|
|
|
|
url(r'^clanky/resitel/$', views.ClankyResitelView.as_view(), name='clanky_resitel'),
|
|
|
|
url(r'^clanky/org/$', views.ClankyOrganizatorView.as_view(), name='clanky_organizator'),
|
|
|
|
|
|
|
|
# Aesop
|
|
|
|
url(r'^aesop-export/mam-rocnik-(?P<prvni_rok>\d+)\.csv$', export.ExportRocnikView.as_view(), name='seminar_export_rocnik'),
|
|
|
|
url(r'^aesop-export/mam-sous-(?P<datum_zacatku>[\d-]+)\.csv$', export.ExportSousView.as_view(), name='seminar_export_sous'),
|
|
|
|
url(r'^aesop-export/index.csv$', export.ExportIndexView.as_view(), name='seminar_export_index'),
|
|
|
|
|
|
|
|
# Stranky viditelne pouze pro orgy:
|
|
|
|
url(
|
|
|
|
r'^rocnik/(?P<rocnik>\d+)/vysledkovka.tex$',
|
|
|
|
staff_member_required(views.RocnikVysledkovkaView.as_view()),
|
|
|
|
name='seminar_cislo_vysledkovka'
|
|
|
|
),
|
|
|
|
url(r'^cislo/(?P<rocnik>\d+).(?P<cislo>.+)/vysledkovka.tex$',
|
|
|
|
staff_member_required(views.CisloVysledkovkaView.as_view()), name='seminar_cislo_vysledkovka'),
|
|
|
|
url(r'^cislo/(?P<rocnik>\d+).(?P<cislo>.+)/obalky.pdf$',
|
|
|
|
staff_member_required(views.cisloObalkyView), name='seminar_cislo_obalky'),
|
|
|
|
|
|
|
|
url(r'^cislo/(?P<rocnik>\d+).(?P<cislo>.+)/tituly.tex$',
|
|
|
|
staff_member_required(views.TitulyView), name='seminar_cislo_titul'),
|
|
|
|
url(r'^stav$',
|
|
|
|
staff_member_required(views.StavDatabazeView), name='stav_databaze'),
|
|
|
|
url(r'^cislo/(?P<rocnik>\d+).(?P<cislo>.+)/obalkovani$',
|
|
|
|
staff_member_required(views.obalkovaniView), name='seminar_cislo_resitel_obalkovani'),
|
|
|
|
url(r'^cislo/(?P<rocnik>\d+).(?P<cislo>.+)/tex-download.json$',
|
|
|
|
staff_member_required(views.texDownloadView), name='seminar_tex_download'),
|
|
|
|
url(r'^soustredeni/(?P<soustredeni>\d+)/obalky.pdf',
|
|
|
|
staff_member_required(views.soustredeniObalkyView), name='seminar_soustredeni_obalky'),
|
|
|
|
|
|
|
|
url(r'^tex-upload/login/$', views.LoginView, name='seminar_login'),
|
|
|
|
url(
|
|
|
|
r'^tex-upload/$',
|
|
|
|
staff_member_required(views.texUploadView),
|
|
|
|
name='seminar_tex_upload'
|
|
|
|
),
|
|
|
|
|
|
|
|
# Ceka na autocomplete v3
|
|
|
|
# url(r'^autocomplete/organizatori/$',
|
|
|
|
# staff_member_required(views.OrganizatorAutocomplete.as_view()),
|
|
|
|
# name='seminar_autocomplete_organizator')
|
|
|
|
|
|
|
|
|
|
|
|
]
|