chartManD's picture
Redefinicion de forms con estilo palabras, creacion de sesion con napping
08b0b11
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()
@staticmethod
def getTechniqueById(id: int):
try:
technique = Tecnica.objects.get(id)
return technique
except Tecnica.DoesNotExist:
return controller_error("Técnica no encontrada")
@staticmethod
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