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.list import MultipleObjectTemplateResponseMixin,MultipleObjectMixin
|
||||
from django.views.generic.base import View
|
||||
from django.views.generic.detail import SingleObjectMixin
|
||||
from django.shortcuts import redirect
|
||||
from django.urls import reverse
|
||||
|
||||
from dataclasses import dataclass
|
||||
import datetime
|
||||
|
@ -87,7 +91,8 @@ class TabulkaOdevzdanychReseniView(ListView):
|
|||
|
||||
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
|
||||
template_name = 'seminar/odevzdavatko/seznam.html'
|
||||
|
||||
|
@ -108,6 +113,13 @@ class ReseniProblemuView(ListView):
|
|||
)
|
||||
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?
|
||||
|
||||
## XXX: https://docs.djangoproject.com/en/3.1/topics/class-based-views/mixins/#avoid-anything-more-complex
|
||||
|
|
Loading…
Reference in a new issue