Odstranění treelib z ukládání čísla
This commit is contained in:
parent
8ba08dbcc5
commit
750006ebb5
1 changed files with 28 additions and 17 deletions
|
@ -31,26 +31,37 @@ class CisloForm(ModelForm):
|
||||||
def clean(self):
|
def clean(self):
|
||||||
if self.cleaned_data.get('verejne_db') == False:
|
if self.cleaned_data.get('verejne_db') == False:
|
||||||
return self.cleaned_data
|
return self.cleaned_data
|
||||||
cn = m.CisloNode.objects.get(cislo=self.instance)
|
# cn = m.CisloNode.objects.get(cislo=self.instance)
|
||||||
|
# errors = []
|
||||||
|
# for ch in tl.all_children(cn):
|
||||||
|
# if isinstance(ch, m.TemaVCisleNode):
|
||||||
|
# if ch.tema.stav not in \
|
||||||
|
# (m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY):
|
||||||
|
# errors.append(ValidationError('Téma %(tema)s není zadané ani vyřešené', params={'tema':ch.tema}))
|
||||||
|
#
|
||||||
|
# if isinstance(ch, m.UlohaZadaniNode) or isinstance(ch, m.UlohaVzorakNode):
|
||||||
|
# if ch.uloha.stav not in \
|
||||||
|
# (m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY):
|
||||||
|
# errors.append(ValidationError('Úloha %(uloha)s není zadaná ani vyřešená', params={'uloha':ch.uloha}))
|
||||||
|
# if isinstance(ch, m.ReseniNode):
|
||||||
|
# for problem in ch.reseni.problem_set:
|
||||||
|
# if problem not in \
|
||||||
|
# (m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY):
|
||||||
|
# errors.append(ValidationError('Problém %s není zadaný ani vyřešený', code=problem))
|
||||||
|
# if errors:
|
||||||
|
# errors.append(ValidationError(mark_safe('<b>Pokud chceš učinit všechny problémy, co nejsou zadané ani vyřešené, zadanými a číslo zveřejnit, můžeš to udělat pomocí akce v <a href="/admin/seminar/cislo">seznamu čísel</a></b>')))
|
||||||
|
# raise ValidationError(errors)
|
||||||
|
|
||||||
errors = []
|
errors = []
|
||||||
for ch in tl.all_children(cn):
|
for ch in m.Uloha.objects.filter(cislo_zadani=self.instance):
|
||||||
if isinstance(ch, m.TemaVCisleNode):
|
if ch.stav not in (m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY):
|
||||||
if ch.tema.stav not in \
|
errors.append(
|
||||||
(m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY):
|
ValidationError('Úloha %(uloha)s není zadaná ani vyřešená', params={'uloha': ch}))
|
||||||
errors.append(ValidationError('Téma %(tema)s není zadané ani vyřešené', params={'tema':ch.tema}))
|
|
||||||
|
|
||||||
if isinstance(ch, m.UlohaZadaniNode) or isinstance(ch, m.UlohaVzorakNode):
|
|
||||||
if ch.uloha.stav not in \
|
|
||||||
(m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY):
|
|
||||||
errors.append(ValidationError('Úloha %(uloha)s není zadaná ani vyřešená', params={'uloha':ch.uloha}))
|
|
||||||
if isinstance(ch, m.ReseniNode):
|
|
||||||
for problem in ch.reseni.problem_set:
|
|
||||||
if problem not in \
|
|
||||||
(m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY):
|
|
||||||
errors.append(ValidationError('Problém %s není zadaný ani vyřešený', code=problem))
|
|
||||||
if errors:
|
if errors:
|
||||||
errors.append(ValidationError(mark_safe('<b>Pokud chceš učinit všechny problémy, co nejsou zadané ani vyřešené, zadanými a číslo zveřejnit, můžeš to udělat pomocí akce v <a href="/admin/seminar/cislo">seznamu čísel</a></b>')))
|
errors.append(ValidationError(mark_safe(
|
||||||
|
'<b>Pokud chceš učinit všechny problémy, co nejsou zadané ani vyřešené, zadanými a číslo zveřejnit, můžeš to udělat pomocí akce v <a href="/admin/seminar/cislo">seznamu čísel</a></b>')))
|
||||||
raise ValidationError(errors)
|
raise ValidationError(errors)
|
||||||
|
|
||||||
return self.cleaned_data
|
return self.cleaned_data
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue