Browse Source

Číslo: řaď problémy dle kódu, zobraz jen skutečné

a ne ty umělé typu konfera
remotes/origin/vysl
Matěj Kocián 9 years ago
parent
commit
f5c4d693e3
  1. 4
      seminar/templates/seminar/archiv/cislo.html
  2. 8
      seminar/views.py

4
seminar/templates/seminar/archiv/cislo.html

@ -8,14 +8,14 @@
<h3>Zadané problémy</h3> <h3>Zadané problémy</h3>
<ul> <ul>
{% for p in cislo.zadane_problemy.all %} {% for p in v_cisle_zadane %}
<li><a href='{{ p.verejne_url }}'>{{ p.kod_v_rocniku }} {{ p.nazev }} ({{ p.body }}b)</a> <li><a href='{{ p.verejne_url }}'>{{ p.kod_v_rocniku }} {{ p.nazev }} ({{ p.body }}b)</a>
{% endfor %} {% endfor %}
</ul> </ul>
<h3>Řešené problémy</h3> <h3>Řešené problémy</h3>
<ul> <ul>
{% for p in cislo.resene_problemy.all %} {% for p in resene_problemy %}
<li><a href='{{ p.verejne_url }}'>{{ p.kod_v_rocniku }} {{ p.nazev }} ({{ p.body }}b)</a> <li><a href='{{ p.verejne_url }}'>{{ p.kod_v_rocniku }} {{ p.nazev }} ({{ p.body }}b)</a>
{% endfor %} {% endfor %}
</ul> </ul>

8
seminar/views.py

@ -186,6 +186,12 @@ class CisloView(generic.DetailView):
vysledky = VysledkyKCisluZaRocnik.objects.filter(cislo = context['cislo']).order_by('-body', 'resitel__prijmeni', 'resitel__jmeno') vysledky = VysledkyKCisluZaRocnik.objects.filter(cislo = context['cislo']).order_by('-body', 'resitel__prijmeni', 'resitel__jmeno')
reseni = Reseni.objects.filter(cislo_body = context['cislo']).select_related("resitel") reseni = Reseni.objects.filter(cislo_body = context['cislo']).select_related("resitel")
# typy úloh, které se mají zobrazovat u čísla, tj. těch, které byly v čísle skutečně zadány
typy_skutecne_zadanych = [Problem.TYP_ULOHA, Problem.TYP_SERIAL, Problem.TYP_ORG_CLANEK]
v_cisle_zadane = Problem.objects.filter(cislo_zadani=context['cislo']).filter(typ__in=typy_skutecne_zadanych).order_by('cislo_reseni__cislo', 'kod')
resene_problemy = Problem.objects.filter(cislo_reseni=context['cislo']).filter(typ__in=typy_skutecne_zadanych).order_by('cislo_reseni__cislo', 'kod')
problemy = sorted(list(set([r.problem for r in reseni])), key=lambda x:(0 if x.typ==Problem.TYP_ULOHA else 1,x.kod)) problemy = sorted(list(set([r.problem for r in reseni])), key=lambda x:(0 if x.typ==Problem.TYP_ULOHA else 1,x.kod))
#setridi problemy podle typu a poradi zadani #setridi problemy podle typu a poradi zadani
problem_index = {} problem_index = {}
@ -250,6 +256,8 @@ class CisloView(generic.DetailView):
context['vysledkovka'] = vysledkovka context['vysledkovka'] = vysledkovka
context['problemy'] = problemy context['problemy'] = problemy
context['v_cisle_zadane'] = v_cisle_zadane
context['resene_problemy'] = resene_problemy
return context return context
### Generovani vysledkovky ### Generovani vysledkovky

Loading…
Cancel
Save