Browse Source

Tituly varuji pri duplicite + filter+first -> get.

remotes/origin/upgrade1.9
parent
commit
fb4edae7e9
  1. 5
      seminar/templates/seminar/archiv/tituly.tex
  2. 27
      seminar/views.py

5
seminar/templates/seminar/archiv/tituly.tex

@ -1,3 +1,8 @@
{% if broken %}
%% POZOR! %% Dva resitele maji stejne makro!!!
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
{% endif %}
{% autoescape off %} {% autoescape off %}
{% load tex %} {% load tex %}

27
seminar/views.py

@ -356,7 +356,7 @@ class CisloObalkyStruct:
# Vraci QuerySet aktualnich resitelu = nekdy neco poslali, ale jeste neodmaturovali # Vraci QuerySet aktualnich resitelu = nekdy neco poslali, ale jeste neodmaturovali
def aktualniResitele(rocnik): def aktualniResitele(rocnik):
letos = Rocnik.objects.filter(rocnik = rocnik).first() letos = Rocnik.objects.get(rocnik = rocnik)
return Resitel.objects.filter(rok_maturity__gt = letos.prvni_rok) return Resitel.objects.filter(rok_maturity__gt = letos.prvni_rok)
# # ALERT: pokud nekdo nema vypleny rok maturity, tak neni aktualni, protoze Karel Tesar a jini # # ALERT: pokud nekdo nema vypleny rok maturity, tak neni aktualni, protoze Karel Tesar a jini
# return Resitel.objects.filter(Q(rok_maturity__gt = letos.prvni_rok)|Q(rok_maturity = None)) # return Resitel.objects.filter(Q(rok_maturity__gt = letos.prvni_rok)|Q(rok_maturity = None))
@ -371,8 +371,8 @@ def aktivniResitele(rocnik,cislo):
aktualni_resitele = aktualniResitele(rocnik) aktualni_resitele = aktualniResitele(rocnik)
letos.rocnik = Rocnik.objects.filter(rocnik = rocnik).first() letos.rocnik = Rocnik.objects.get(rocnik = rocnik)
loni.rocnik = Rocnik.objects.filter(rocnik = int(rocnik)-1).first() loni.rocnik = Rocnik.objects.get(rocnik = int(rocnik)-1)
letos.cisla = Cislo.objects.filter(rocnik=letos.rocnik,cislo__lte = cislo) letos.cisla = Cislo.objects.filter(rocnik=letos.rocnik,cislo__lte = cislo)
loni.cisla = Cislo.objects.filter(rocnik=loni.rocnik) loni.cisla = Cislo.objects.filter(rocnik=loni.rocnik)
if int(cislo) > 3: if int(cislo) > 3:
@ -430,20 +430,27 @@ def resitelUlohaView(request,rocnik,cislo):
# TODO udelat neco jako get_objects_or_404 # TODO udelat neco jako get_objects_or_404
def TitulyView(request, rocnik, cislo): def TitulyView(request, rocnik, cislo):
rocnik_obj = Rocnik.objects.filter(rocnik = rocnik).first() rocnik_obj = Rocnik.objects.get(rocnik = rocnik)
resitele = Resitel.objects.filter(rok_maturity__gte = rocnik_obj.prvni_rok) resitele = Resitel.objects.filter(rok_maturity__gte = rocnik_obj.prvni_rok)
cislo_obj = Cislo.objects.filter(rocnik = rocnik_obj, cislo = cislo).first() cislo_obj = Cislo.objects.get(rocnik = rocnik_obj, cislo = cislo)
asciijmena = []
broken = False
for resitel in resitele: for resitel in resitele:
vys = VysledkyKCisluOdjakziva.objects.filter(resitel = resitel, cislo = cislo_obj).first() try:
if vys == None: vys = VysledkyKCisluOdjakziva.objects.get(resitel = resitel, cislo = cislo_obj)
body = 0
else:
body = vys.body body = vys.body
except ObjectDoesNotExist:
body = 0
resitel.titul = resitel.get_titul(body) resitel.titul = resitel.get_titul(body)
resitel.ascii = unicodedata.normalize('NFKD',resitel.jmeno+resitel.prijmeni).encode("ascii","ignore").replace(" ","") resitel.ascii = unicodedata.normalize('NFKD',resitel.jmeno+resitel.prijmeni).encode("ascii","ignore").replace(" ","")
if resitel.ascii not in asciijmena:
asciijmena.append(resitel.ascii)
else:
broken = True
return render(request, 'seminar/archiv/tituly.tex',{'resitele': resitele}) return render(request, 'seminar/archiv/tituly.tex',{'resitele': resitele,'broken':broken})
### Soustredeni ### Soustredeni

Loading…
Cancel
Save