Spaces:
Sleeping
Sleeping
| from tecnicas.models import TipoTecnica, CategoriaTecnica, Tecnica, EstiloPalabra | |
| from django.db import DatabaseError | |
| from tecnicas.utils import controller_error | |
| class TecnicaController(): | |
| def setTechnique(self, **kwargs): | |
| self.technique = Tecnica( | |
| tipo_tecnica=TipoTecnica.objects.get(nombre_tecnica=kwargs["name_tecnica"]), | |
| id_estilo=EstiloPalabra.objects.get(id=kwargs["estilo_palabras"]), | |
| repeticiones_max=kwargs["numero_repeticiones"] or 1, | |
| limite_catadores=kwargs["numero_catadores"], | |
| instrucciones=kwargs["instrucciones"], | |
| ) | |
| def setTechniqueFromBasicData(self, basic): | |
| self.technique = Tecnica( | |
| tipo_tecnica=TipoTecnica.objects.get(nombre_tecnica=basic["name_tecnica"]), | |
| id_estilo=EstiloPalabra.objects.get(nombre_estilo=basic["estilo_palabras"]), | |
| repeticiones_max=basic["numero_repeticiones"] or 1, | |
| limite_catadores=basic["numero_catadores"], | |
| instrucciones=basic["instrucciones"] or "Espere instrucciones del Presentador", | |
| ) | |
| def getDataTechnique(self): | |
| return self.technique.toDict() | |
| def saveTechnique(self): | |
| try: | |
| self.technique.save() | |
| return self.technique | |
| except DatabaseError: | |
| return controller_error("No se ha podido guardar la técnica") | |
| def deleteTechnique(self): | |
| self.technique.delete() | |
| def getTechniqueById(id: int): | |
| try: | |
| technique = Tecnica.objects.get(id) | |
| return technique | |
| except Tecnica.DoesNotExist: | |
| return controller_error("Técnica no encontrada") | |
| def getTypesTechnique(): | |
| showTecnicas = {} | |
| categories = CategoriaTecnica.objects.all() | |
| for cata in categories: | |
| tecnicas = TipoTecnica.objects.filter(id_categoria_tecnica=cata.id) | |
| showTecnicas[cata.nombre_categoria] = tecnicas | |
| return showTecnicas | |