Compare commits
2 commits
92cb8ec206
...
e26df01729
Author | SHA1 | Date | |
---|---|---|---|
e26df01729 | |||
512f14ed4d |
3 changed files with 30 additions and 0 deletions
|
@ -89,6 +89,13 @@ class NahrajReseniForm(forms.ModelForm):
|
|||
if 'problem' in self.fields:
|
||||
self.fields['problem'].label = "Všechny řešené problémy"
|
||||
|
||||
def clean_problem(self):
|
||||
problem = self.cleaned_data.get('problem')
|
||||
for p in problem:
|
||||
if p.stav != m.Problem.STAV_ZADANY:
|
||||
raise forms.ValidationError("Problém " + str(p) + " již nelze řešit!")
|
||||
return problem
|
||||
|
||||
ReseniSPrilohamiFormSet = inlineformset_factory(m.Reseni,m.PrilohaReseni,
|
||||
form = NahrajReseniForm,
|
||||
fields = ('soubor','res_poznamka'),
|
||||
|
|
|
@ -30,6 +30,13 @@
|
|||
{{ field }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{% if field.errors %}
|
||||
<tr>
|
||||
<td colspan="2"><span class="field-error">{{ field.errors }}</span></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{% endwith %}
|
||||
</table>
|
||||
|
||||
|
@ -54,6 +61,13 @@
|
|||
{{ field }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{% if field.errors %}
|
||||
<tr>
|
||||
<td colspan="2"><span class="field-error">{{ field.errors }}</span></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
{% endwith %}
|
||||
</table>
|
||||
|
||||
|
@ -61,6 +75,8 @@
|
|||
|
||||
{% include "odevzdavatko/prilohy.html" %}
|
||||
|
||||
{{form.non_field_errors}}
|
||||
|
||||
<hr>
|
||||
<h4>Odevzdat řešení</h4>
|
||||
<input type="submit" value="Odevzdat">
|
||||
|
|
|
@ -403,6 +403,13 @@ class NahrajReseniView(LoginRequiredMixin, CreateView):
|
|||
form_class = f.NahrajReseniForm
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
# Zaříznutí nezadaných problémů
|
||||
nadproblem_id = self.kwargs["nadproblem_id"]
|
||||
nadproblem = get_object_or_404(m.Problem, id=nadproblem_id)
|
||||
if nadproblem.stav != "zadany":
|
||||
raise PermissionDenied()
|
||||
|
||||
|
||||
# Zaříznutí starých řešitelů:
|
||||
# FIXME: Je to tady dost naprasené, mělo by to asi být jinde…
|
||||
osoba = m.Osoba.objects.get(user=self.request.user)
|
||||
|
|
Loading…
Reference in a new issue