Mergem jsem si přitáhl špatnou verzi ProblemView, mažu.
This commit is contained in:
parent
a732ac805c
commit
55faab78d5
1 changed files with 0 additions and 26 deletions
|
@ -602,32 +602,6 @@ class RocnikView(generic.DetailView):
|
||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
||||||
class ProblemView(generic.DetailView):
|
|
||||||
model = Problem
|
|
||||||
|
|
||||||
# Používáme funkci, protože přímo template_name neumí mít v přiřazení dost logiky. Ledaže by se to udělalo polymorfně...
|
|
||||||
def get_template_names(self, **kwargs):
|
|
||||||
# FIXME: Switch podle typu není hezký, ale nechtělo se mi to přepisovat celé. Správně by se tohle mělo řešit polymorfismem.
|
|
||||||
spravne_templaty = {
|
|
||||||
s.Uloha: "uloha",
|
|
||||||
s.Tema: "tema",
|
|
||||||
s.Konfera: "konfera",
|
|
||||||
s.Clanek: "clanek",
|
|
||||||
}
|
|
||||||
context = super().get_context_data(**kwargs)
|
|
||||||
return ['seminar/archiv/problem_' + spravne_templaty[context['object'].__class__] + '.html']
|
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
|
||||||
context = super().get_context_data(**kwargs)
|
|
||||||
# Musí se používat context['object'], protože nevíme, jestli dostaneme úložku, téma, článek, .... a tyhle věci vyrábějí různé klíče.
|
|
||||||
if not context['object'].verejne() and not self.request.user.is_staff:
|
|
||||||
raise PermissionDenied()
|
|
||||||
if isinstance(context['object'], Clanek):
|
|
||||||
context['reseni'] = Reseni.objects.filter(problem=context['object']).select_related('resitel').order_by('resitel__prijmeni')
|
|
||||||
return context
|
|
||||||
|
|
||||||
|
|
||||||
class RadekVysledkovkyCisla(object):
|
class RadekVysledkovkyCisla(object):
|
||||||
"""Obsahuje věci, které se hodí vědět při konstruování výsledkovky.
|
"""Obsahuje věci, které se hodí vědět při konstruování výsledkovky.
|
||||||
Umožňuje snazší práci v templatu (lepší, než seznam)."""
|
Umožňuje snazší práci v templatu (lepší, než seznam)."""
|
||||||
|
|
Loading…
Reference in a new issue