Browse Source

Django 2.2

URL jsou rozbité, vždy zobrazí titulku, ale běží.
export_seznamu_prednasek
parent
commit
5c6b49eefc
  1. 8
      korektury/views.py
  2. 5
      mamweb/settings_common.py
  3. 18
      mamweb/urls.py
  4. 21
      mamweb/wsgi.py
  5. 40
      requirements.txt
  6. 2
      seminar/templatetags/mam_menu.py
  7. 76
      seminar/urls.py

8
korektury/views.py

@ -23,10 +23,10 @@ class KorekturyListView(generic.ListView):
model = KorekturovanePDF model = KorekturovanePDF
# Nefunguje, filtry se vubec nepouziji # Nefunguje, filtry se vubec nepouziji
queryset = KorekturovanePDF.objects.annotate( queryset = KorekturovanePDF.objects.annotate(
k_oprave_cnt=Count('oprava',filter=Q(oprava__status='k_oprave')), k_oprave_cnt=Count('oprava',distinct=True,filter=Q(oprava__status='k_oprave')),
opraveno_cnt=Count('oprava',filter=Q(oprava__status='opraveno')), opraveno_cnt=Count('oprava',distinct=True,filter=Q(oprava__status='opraveno')),
neni_chyba_cnt=Count('oprava',filter=Q(oprava__status='neni_chyba')), neni_chyba_cnt=Count('oprava',distinct=True,filter=Q(oprava__status='neni_chyba')),
k_zaneseni_cnt=Count('oprava',filter=Q(oprava__status='k_zaneseni')), k_zaneseni_cnt=Count('oprava',distinct=True,filter=Q(oprava__status='k_zaneseni')),
) )
template_name = 'korektury/seznam.html' template_name = 'korektury/seznam.html'

5
mamweb/settings_common.py

@ -57,9 +57,10 @@ MIDDLEWARE = (
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware', 'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfViewMiddleware',
'mamweb.middleware.LoggedInHintCookieMiddleware', # FIXME: rozbilo se při přechodu na Django 2.0, nevím, jestli
# se to dá zahodit bez náhrady
# 'mamweb.middleware.LoggedInHintCookieMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',

18
mamweb/urls.py

@ -9,29 +9,29 @@ from django import views
urlpatterns = [ urlpatterns = [
# Admin a nastroje # Admin a nastroje
url(r'^admin/', include(admin.site.urls)), # NOQA url('admin/', admin.site.urls), # NOQA
url(r'^ckeditor/', include('ckeditor_uploader.urls')), url('ckeditor/', include('ckeditor_uploader.urls')),
url(r'^autocomplete/', include('autocomplete_light.urls')), url('autocomplete/', include('autocomplete_light.urls')),
# Seminarova aplikace (ma vlastni podadresare) # Seminarova aplikace (ma vlastni podadresare)
url(r'^', include('seminar.urls')), url('', include('seminar.urls')),
# Korekturovaci aplikace (ma vlastni podadresare) # Korekturovaci aplikace (ma vlastni podadresare)
url(r'^', include('korektury.urls')), url('', include('korektury.urls')),
# Prednaskova aplikace (ma vlastni podadresare) # Prednaskova aplikace (ma vlastni podadresare)
url(r'^', include('prednasky.urls')), url('', include('prednasky.urls')),
# Comments (interni i verejne) # Comments (interni i verejne)
url(r'^comments_dj/', include('django_comments.urls')), url('comments_dj/', include('django_comments.urls')),
url(r'^comments_fl/', include('fluent_comments.urls')), url('comments_fl/', include('fluent_comments.urls')),
] ]
# This is only needed when using runserver. # This is only needed when using runserver.
if settings.DEBUG: if settings.DEBUG:
urlpatterns += [ urlpatterns += [
url(r'^media/(?P<path>.*)$', views.static.serve, # NOQA url('media/<str:path>', views.static.serve, # NOQA
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}), {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
] ]
urlpatterns += staticfiles_urlpatterns() urlpatterns += staticfiles_urlpatterns()

21
mamweb/wsgi.py

@ -4,25 +4,14 @@ WSGI config for mamweb project.
It exposes the WSGI callable as a module-level variable named ``application``. It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see For more information on this file, see
https://docs.djangoproject.com/en/1.7/howto/deployment/wsgi/ https://docs.djangoproject.com/en/2.2/howto/deployment/wsgi/
""" """
import sys, os, os.path, traceback, time, signal import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mamweb.settings")
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'lib', 'python2.7', 'site-packages')))
from django.core.wsgi import get_wsgi_application
try: os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mamweb.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
except Exception: application = get_wsgi_application()
print('handling WSGI exception')
# Error loading applications
if 'mod_wsgi' in sys.modules:
traceback.print_exc()
os.kill(os.getpid(), signal.SIGINT)
time.sleep(2)

40
requirements.txt

@ -1,30 +1,30 @@
# basic libs # basic libs
psycopg2==2.7.5 psycopg2
html5lib==1.0.1 html5lib
ipython==5.8.0 ipython
Pillow==5.2.0 Pillow
pytz==2018.5 pytz
six==1.10.0 six
pexpect==4.6.0 pexpect
traitlets==4.3.2 traitlets
Unidecode==1.0.22 Unidecode
# Django and modules # Django and modules
Django>=1.11.17,<2.0 Django<2.3
#django-bootstrap-sass #django-bootstrap-sass
django-mptt==0.9.1 django-mptt
django-reversion==2.0.13 django-reversion
django-sekizai==0.10.0 django-sekizai
django-countries==5.3.1 django-countries
django-solo==1.1.3 django-solo
django-ckeditor==5.6.1 django-ckeditor
django-flat-theme==1.1.4 django-flat-theme
django-taggit==0.23.0 django-taggit
django-autocomplete-light==2.3.6 django-autocomplete-light==2.3.6
django-crispy-forms==1.7.2 django-crispy-forms
django-imagekit==4.0.2 django-imagekit
# Comments # Comments
akismet==1.0.1 akismet==1.0.1

2
seminar/templatetags/mam_menu.py

@ -10,6 +10,6 @@ def seminar_rocniky(parser, token):
'rocniky': Rocnik.objects.all() 'rocniky': Rocnik.objects.all()
} }
@register.assignment_tag @register.simple_tag
def aktualni_rocniky(): def aktualni_rocniky():
return Rocnik.objects.all() return Rocnik.objects.all()

76
seminar/urls.py

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

Loading…
Cancel
Save