Fix: #1251 #6
5 changed files with 1 additions and 110 deletions
|
@ -40,8 +40,7 @@
|
|||
<li><a href="obalky.pdf">Obálky (PDF)</a></li>
|
||||
<li><a href="tituly.tex" download>Tituly (TeX)</a></li>
|
||||
<li><a href="vysledkovka.tex" download>Výsledkovka (TeX)</a></li>
|
||||
<li><a href="obalkovani">Obálkování</a></li>
|
||||
<li><a href="odmeny/{{prevcislo.rocnik.rocnik}}.{{prevcislo.poradi}}/">Odměny</a></li>
|
||||
<li><a href="odmeny/{{prevcislo.rocnik.rocnik}}.{{prevcislo.poradi}}/">Odměny</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
|
|
@ -1,33 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
<h1>
|
||||
{% block nadpis1a %}
|
||||
Obálkování {{ cislo }}
|
||||
{% endblock %}
|
||||
</h1>
|
||||
|
||||
Obálkovat se budou tyto problémy:
|
||||
<ul>
|
||||
{% for p in problemy %}
|
||||
|
||||
<li> {{ p.kod_v_rocniku }} {{ p }}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
{% for r in reseni %}
|
||||
{% ifchanged r.resitel %}
|
||||
{% if not forloop.first %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
<h4>{{ r.resitel }}</h4>
|
||||
<ul>
|
||||
{% endifchanged %}
|
||||
|
||||
<li>
|
||||
{{ r.problem.kod_v_rocniku }} {{ r.problem.nazev }} ({{ r.body }})
|
||||
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
{% endblock content %}
|
|
@ -1,30 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
|
||||
{% block content %}
|
||||
<h1>
|
||||
{% block nadpis1a %}
|
||||
Obálkování {{ cislo }}
|
||||
{% endblock %}
|
||||
</h1>
|
||||
<ul>
|
||||
{% for reseni in object_list %}
|
||||
{% ifchanged reseni.resitele %}
|
||||
{% if not forloop.first %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
<h4>{% for resitel in reseni.resitele.all %}{{resitel.osoba}},{% endfor %}</h4>
|
||||
<ul>
|
||||
{% endifchanged %}
|
||||
|
||||
<li>Celkem {{reseni.hodnoceni__body__sum}} bodů z {{reseni.hodnoceni__count}} hodnocení
|
||||
<ul>
|
||||
{% for h in reseni.hodnoceni_set.all %}
|
||||
<li> {{ h.problem }}: {{ h.body }}b </li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
|
||||
{% endblock content %}
|
|
@ -23,7 +23,6 @@ Soubor sloužící jako „router“, tj. zde se definují url adresy a na co uk
|
|||
- ``cislo/<int:rocnik>.<str:cislo>/obalky.pdf`` (seminar_cislo_obalky) :func:`~seminar.views.views_all.cisloObalkyView`
|
||||
- ``cislo/<int:rocnik>.<str:cislo>/tituly.tex`` (seminar_cislo_titul) :func:`~seminar.views.views_all.TitulyView`
|
||||
- ``stav`` (stav_databaze) :func:`~seminar.views.views_all.StavDatabazeView`
|
||||
- ``cislo/<int:rocnik>.<str:cislo>/obalkovani`` (seminar_cislo_resitel_obalkovani) :class:`~seminar.views.views_all.ObalkovaniView`
|
||||
- ``cislo/<int:trocnik>.<str:tcislo>/odmeny/<int:frocnik>.<str:fcislo>/`` (seminar_archiv_odmeny) :class:`~seminar.views.views_all.OdmenyView`
|
||||
- Další
|
||||
- `` `` (titulni_strana) :class:`~seminar.views.views_all.TitulniStranaView`
|
||||
|
@ -102,11 +101,6 @@ urlpatterns = [
|
|||
org_required(views.StavDatabazeView),
|
||||
name='stav_databaze'
|
||||
),
|
||||
path(
|
||||
'cislo/<int:rocnik>.<str:cislo>/obalkovani',
|
||||
org_required(views.ObalkovaniView.as_view()),
|
||||
name='seminar_cislo_resitel_obalkovani'
|
||||
),
|
||||
path(
|
||||
'cislo/<int:trocnik>.<str:tcislo>/odmeny/<int:frocnik>.<str:fcislo>/',
|
||||
org_required(views.OdmenyView.as_view()),
|
||||
|
|
|
@ -53,23 +53,6 @@ logger = logging.getLogger(__name__)
|
|||
def get_problemy_k_tematu(tema):
|
||||
return Problem.objects.filter(nadproblem = tema)
|
||||
|
||||
class ObalkovaniView(generic.ListView):
|
||||
template_name = 'seminar/org/obalkovani.html'
|
||||
|
||||
def get_queryset(self):
|
||||
rocnik = get_object_or_404(Rocnik,rocnik=self.kwargs['rocnik'])
|
||||
cislo = get_object_or_404(Cislo,rocnik=rocnik,poradi=self.kwargs['cislo'])
|
||||
self.cislo = cislo
|
||||
self.hodnoceni = s.Hodnoceni.objects.filter(cislo_body=cislo)
|
||||
self.reseni = Reseni.objects.filter(hodnoceni__in = self.hodnoceni).annotate(Sum('hodnoceni__body')).annotate(Count('hodnoceni')).order_by('resitele__osoba')
|
||||
return self.reseni
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ObalkovaniView, self).get_context_data(**kwargs)
|
||||
print(self.cislo)
|
||||
context['cislo'] = self.cislo
|
||||
return context
|
||||
|
||||
|
||||
# FIXME: Pozor, níž je ještě jeden ProblemView!
|
||||
#class ProblemView(generic.DetailView):
|
||||
|
@ -597,28 +580,6 @@ def obalkyView(request, resitele):
|
|||
return response
|
||||
|
||||
|
||||
def oldObalkovaniView(request, rocnik, cislo):
|
||||
rocnik = Rocnik.objects.get(rocnik=rocnik)
|
||||
cislo = Cislo.objects.get(rocnik=rocnik, cislo=cislo)
|
||||
|
||||
reseni = (
|
||||
Reseni.objects.filter(cislo_body=cislo)
|
||||
.order_by(
|
||||
'resitel__prijmeni',
|
||||
'resitel__jmeno',
|
||||
'problem__typ',
|
||||
'problem__kod'
|
||||
)
|
||||
)
|
||||
|
||||
problemy = sorted(set(r.problem for r in reseni), key=lambda p: (p.typ, p.kod))
|
||||
return render(
|
||||
request,
|
||||
'seminar/archiv/cislo_obalkovani.html',
|
||||
{'cislo': cislo, 'problemy': problemy, 'reseni': reseni}
|
||||
)
|
||||
|
||||
|
||||
### Tituly
|
||||
def TitulyViewRocnik(request, rocnik):
|
||||
return TitulyView(request, rocnik, None)
|
||||
|
|
Loading…
Reference in a new issue