Odevzdávatko: nezobrazovat seznam jednoho řešení
This commit is contained in:
parent
658f2a53c6
commit
3e249aef5e
1 changed files with 13 additions and 1 deletions
|
@ -1,5 +1,9 @@
|
||||||
from django.views.generic import ListView, DetailView, FormView
|
from django.views.generic import ListView, DetailView, FormView
|
||||||
|
from django.views.generic.list import MultipleObjectTemplateResponseMixin,MultipleObjectMixin
|
||||||
|
from django.views.generic.base import View
|
||||||
from django.views.generic.detail import SingleObjectMixin
|
from django.views.generic.detail import SingleObjectMixin
|
||||||
|
from django.shortcuts import redirect
|
||||||
|
from django.urls import reverse
|
||||||
|
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
import datetime
|
import datetime
|
||||||
|
@ -87,7 +91,8 @@ class TabulkaOdevzdanychReseniView(ListView):
|
||||||
|
|
||||||
return ctx
|
return ctx
|
||||||
|
|
||||||
class ReseniProblemuView(ListView):
|
# Velmi silně inspirováno zdrojáky, FIXME: Nedá se to udělat smysluplněji?
|
||||||
|
class ReseniProblemuView(MultipleObjectTemplateResponseMixin, MultipleObjectMixin, View):
|
||||||
model = m.Reseni
|
model = m.Reseni
|
||||||
template_name = 'seminar/odevzdavatko/seznam.html'
|
template_name = 'seminar/odevzdavatko/seznam.html'
|
||||||
|
|
||||||
|
@ -108,6 +113,13 @@ class ReseniProblemuView(ListView):
|
||||||
)
|
)
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
|
def get(self, request, *args, **kwargs):
|
||||||
|
self.object_list = self.get_queryset()
|
||||||
|
if self.object_list.count() == 1:
|
||||||
|
jedine_reseni = self.object_list.first()
|
||||||
|
return redirect(reverse("odevzdavatko_detail_reseni", kwargs={"pk": jedine_reseni.id}))
|
||||||
|
context = self.get_context_data()
|
||||||
|
return self.render_to_response(context)
|
||||||
# Kontext automaticky?
|
# Kontext automaticky?
|
||||||
|
|
||||||
## XXX: https://docs.djangoproject.com/en/3.1/topics/class-based-views/mixins/#avoid-anything-more-complex
|
## XXX: https://docs.djangoproject.com/en/3.1/topics/class-based-views/mixins/#avoid-anything-more-complex
|
||||||
|
|
Loading…
Reference in a new issue