Browse Source

Zprovozněno generování titulů.

middleware_test
Anet 5 years ago
parent
commit
31e037f242
  1. 3
      seminar/templates/seminar/archiv/tituly.tex
  2. 4
      seminar/urls.py
  3. 49
      seminar/views/views_all.py

3
seminar/templates/seminar/archiv/tituly.tex

@ -1,6 +1,5 @@
{% if broken %} {% if broken %}
%% POZOR! %% Dva resitele maji stejne makro!!! POZOR! Kolize jmen! Dva řešitelé mají stejné makro!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{% endif %} {% endif %}
{% autoescape off %} {% autoescape off %}

4
seminar/urls.py

@ -87,8 +87,8 @@ urlpatterns = [
path('cislo/<int:rocnik>.<int:cislo>/obalky.pdf', path('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'),
#path('cislo/(?P<rocnik>\d+).(?P<cislo>[0-9-]+)/tituly.tex', path('cislo/<int:rocnik>.<int:cislo>/tituly.tex',
# staff_member_required(views.TitulyView), name='seminar_cislo_titul'), staff_member_required(views.TitulyView), name='seminar_cislo_titul'),
path('stav', path('stav',
staff_member_required(views.StavDatabazeView), name='stav_databaze'), staff_member_required(views.StavDatabazeView), name='stav_databaze'),
path('cislo/<int:rocnik>.<int:cislo>/obalkovani', path('cislo/<int:rocnik>.<int:cislo>/obalkovani',

49
seminar/views/views_all.py

@ -855,30 +855,31 @@ def oldObalkovaniView(request, rocnik, cislo):
### Tituly ### Tituly
# TODO udelat neco jako get_objects_or_404 def TitulyView(request, rocnik, cislo):
# FIXME: prepsat, aby nepouzivalo VysledkyK... rocnik_obj = Rocnik.objects.get(rocnik = rocnik)
#def TitulyView(request, rocnik, cislo): resitele = Resitel.objects.filter(rok_maturity__gte = rocnik_obj.prvni_rok)
# rocnik_obj = Rocnik.objects.get(rocnik = rocnik) cislo_obj = Cislo.objects.get(rocnik = rocnik_obj, poradi = cislo)
# resitele = Resitel.objects.filter(rok_maturity__gte = rocnik_obj.prvni_rok)
# cislo_obj = Cislo.objects.get(rocnik = rocnik_obj, cislo = cislo) asciijmena = []
# jmenovci = False # detekuje, zda jsou dva řešitelé jmenovci (modulo nabodeníčka), pokud ano, vrátí se jako true
# asciijmena = [] slovnik_s_body = body_resitelu_odjakziva(rocnik_obj, resitele)
# broken = False
# for resitel in resitele:
# for resitel in resitele: resitel.titul = resitel.get_titul(slovnik_s_body[resitel.id])
# try: jmeno = resitel.osoba.jmeno+resitel.osoba.prijmeni
# vys = VysledkyKCisluOdjakziva.objects.get(resitel = resitel, cislo = cislo_obj) # převedeme jména a příjmení řešitelů do ASCII
# body = vys.body ascii_jmeno_bytes = unicodedata.normalize('NFKD', jmeno).encode("ascii","ignore")
# except ObjectDoesNotExist: # vrátí se byte string, převedeme na standardní string
# body = 0 ascii_jmeno_divnoznaky = str(ascii_jmeno_bytes, "utf-8", "ignore").replace(" ","")
# resitel.titul = resitel.get_titul(body) resitel.ascii = ''.join(a for a in ascii_jmeno_divnoznaky if a.isalnum())
# resitel.ascii = unicodedata.normalize('NFKD',resitel.jmeno+resitel.prijmeni).encode("ascii","ignore").replace(" ","") if resitel.ascii not in asciijmena:
# if resitel.ascii not in asciijmena: asciijmena.append(resitel.ascii)
# asciijmena.append(resitel.ascii) else:
# else: jmenovci = True
# broken = True
# return render(request, 'seminar/archiv/tituly.tex',
# return render(request, 'seminar/archiv/tituly.tex',{'resitele': resitele,'broken':broken},content_type="text/plain") {'resitele': resitele,'jmenovci':jmenovci},content_type="text/plain")
### Soustredeni ### Soustredeni

Loading…
Cancel
Save