|
@ -69,7 +69,13 @@ class OdevzdatelnyProblemAutocomplete(autocomplete.Select2QuerySetView): |
|
|
class ProblemAutocomplete(autocomplete.Select2QuerySetView): |
|
|
class ProblemAutocomplete(autocomplete.Select2QuerySetView): |
|
|
""" View k :mod:`dal.autocomplete` pro vyhledávání problémů především v odevzdávátku. """ |
|
|
""" View k :mod:`dal.autocomplete` pro vyhledávání problémů především v odevzdávátku. """ |
|
|
def get_queryset(self): |
|
|
def get_queryset(self): |
|
|
qs = m.Problem.objects.all().order_by("-stav", "nazev") |
|
|
# FIXME i starší úlohy |
|
|
|
|
|
nastaveni = get_object_or_404(m.Nastaveni) |
|
|
|
|
|
rocnik = nastaveni.aktualni_rocnik |
|
|
|
|
|
temaQ = Q(Tema___rocnik = rocnik, stav=m.Problem.STAV_ZADANY) |
|
|
|
|
|
ulohaQ = Q(Uloha___cislo_zadani__rocnik = rocnik, stav=m.Problem.STAV_ZADANY) |
|
|
|
|
|
clanekQ = Q(Clanek___cislo__rocnik = rocnik, stav=m.Problem.STAV_ZADANY) |
|
|
|
|
|
qs = m.Problem.objects.filter(temaQ | ulohaQ | clanekQ).order_by("-stav", "nazev") |
|
|
if self.q: |
|
|
if self.q: |
|
|
qs = qs.filter( |
|
|
qs = qs.filter( |
|
|
Q(nazev__icontains=self.q)) |
|
|
Q(nazev__icontains=self.q)) |
|
|