Compare commits

...

2 commits

View file

@ -411,11 +411,15 @@ class NahrajReseniView(LoginRequiredMixin, CreateView):
model = m.Reseni
template_name = 'odevzdavatko/nahraj_reseni.html'
form_class = f.NahrajReseniForm
nadproblem: m.Problem
def setup(self, request, *args, **kwargs):
super().setup(request, *args, **kwargs)
nadproblem_id = self.kwargs["nadproblem_id"]
self.nadproblem = get_object_or_404(m.Problem, id=nadproblem_id)
def get(self, request, *args, **kwargs):
# Zaříznutí nezadaných problémů
nadproblem_id = self.kwargs["nadproblem_id"]
self.nadproblem = get_object_or_404(m.Problem, id=nadproblem_id)
if self.nadproblem.stav != m.Problem.STAV_ZADANY:
raise PermissionDenied()
@ -433,10 +437,7 @@ class NahrajReseniView(LoginRequiredMixin, CreateView):
return super().get(request, *args, **kwargs)
def get_initial(self):
#nadproblem_id = self.nadproblem.id
# Hotfix: nevím, proč nemáme self.nadproblem, ale občas nemáme.
nadproblem_id = self.kwargs["nadproblem_id"]
self.nadproblem = get_object_or_404(m.Problem, id=nadproblem_id)
nadproblem_id = self.nadproblem.id
return {
"nadproblem_id": nadproblem_id,
"problem": [] if self.nadproblem.podproblem.filter(stav=m.Problem.STAV_ZADANY).exists() else nadproblem_id