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 = [] | 		# errors = [] | ||||||
| 		for ch in tl.all_children(cn): | 		# for ch in tl.all_children(cn): | ||||||
| 			if isinstance(ch, m.TemaVCisleNode): | 		# 	if isinstance(ch, m.TemaVCisleNode): | ||||||
| 				if ch.tema.stav not in \ | 		# 		if ch.tema.stav not in \ | ||||||
| 					(m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY): | 		# 			(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})) | 		# 			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) | ||||||
| 
 | 
 | ||||||
| 			if isinstance(ch, m.UlohaZadaniNode) or isinstance(ch, m.UlohaVzorakNode): | 		errors = [] | ||||||
| 				if ch.uloha.stav not in \ | 		for ch in m.Uloha.objects.filter(cislo_zadani=self.instance): | ||||||
| 					(m.Problem.STAV_ZADANY, m.Problem.STAV_VYRESENY): | 			if ch.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})) | 				errors.append( | ||||||
| 			if isinstance(ch, m.ReseniNode): | 					ValidationError('Úloha %(uloha)s není zadaná ani vyřešená', params={'uloha': ch})) | ||||||
| 				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
	
	 Jonas Havelka
						Jonas Havelka