Merge remote-tracking branch 'origin/develop/Ronald'

master
Francisco Sandoval 2024-03-10 12:47:55 -03:00
commit 16d449ad58
3 changed files with 46 additions and 21 deletions

View File

@ -1,7 +1,6 @@
from django.db import transaction from django.db import transaction
from django.http import HttpResponse, JsonResponse from django.http import HttpResponse, JsonResponse
from django.contrib.auth.hashers import make_password
from rest_framework import viewsets from rest_framework import viewsets
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.decorators import action from rest_framework.decorators import action
@ -23,7 +22,6 @@ class ContratoViewSet(viewsets.ModelViewSet):
try: try:
with transaction.atomic(): with transaction.atomic():
input = json.loads(request.body) input = json.loads(request.body)
persona = models.Persona.objects.filter(rut = input['rut']).first() persona = models.Persona.objects.filter(rut = input['rut']).first()
id_tipo_tratamiento = input.get('id_tipo_tratamiento',None) id_tipo_tratamiento = input.get('id_tipo_tratamiento',None)
if not id_tipo_tratamiento: if not id_tipo_tratamiento:

View File

@ -104,7 +104,7 @@ class LineaViewSet(viewsets.ModelViewSet):
db_host = getenv('DB_REDIS_HOST') db_host = getenv('DB_REDIS_HOST')
db_port = getenv('DB_REDIS_PORT') db_port = getenv('DB_REDIS_PORT')
r = redis.Redis(host=db_host, port=db_port, decode_responses=True) r = redis.Redis(host=db_host, port=db_port, decode_responses=True)
paraderos = models.Paradero.objects \ paraderos = models.Paradero.objects \
.filter(vigente=True, lineaparadero__id_linea=pk) \ .filter(vigente=True, lineaparadero__id_linea=pk) \
.values('id_paradero') \ .values('id_paradero') \

View File

@ -35,30 +35,57 @@ class OperadorViewSet(viewsets.ModelViewSet):
"No se puede crear el operador: 'id_operador' no proporcionado.", "No se puede crear el operador: 'id_operador' no proporcionado.",
status=HTTP_400_BAD_REQUEST status=HTTP_400_BAD_REQUEST
) )
newRecord= False;
if not models.Operador.objects.filter(id_operador=id_operador).exists():
newRecord = True
try: try:
with transaction.atomic(): with transaction.atomic():
#Se Define Operador, pero no se graba
operador = models.Operador( operador = models.Operador(
id_operador = id_operador, id_operador = id_operador,
nombre_operador = request.data.get('nombre_operador'), nombre_operador = request.data.get('nombre_operador'),
vigente = request.data.get('vigente'), vigente = request.data.get('vigente'),
) )
if newRecord:
# se crea el rol para el operador
max_id = models.Rol.objects.aggregate(Max('id_rol'))['id_rol__max']
rol = models.Rol(
id_rol = max_id + 1,
nombre_rol = f'Rol {operador.nombre_operador}'
)
rol.save()
operador.id_rol = rol
#Grabamos Operador, ya que si corresponde se le asigno el id del nuevo Rol
operador.save() operador.save()
if newRecord :
aplicacion = models.Aplicacion.objects.get(id_aplicacion=1)
rolApp = models.RolAplicacion(
id_rol=rol,
id_aplicacion =aplicacion
)
rolApp.save()
aplicacion = models.Aplicacion.objects.get(id_aplicacion=2)
rolApp = models.RolAplicacion(
id_rol=rol,
id_aplicacion = aplicacion
)
rolApp.save()
# se crea el rol para el operador rol_operador = models.RolOperador(
max_id = models.Rol.objects.aggregate(Max('id_rol'))['id_rol__max'] id_rol = rol,
id_operador = operador
)
rol_operador.save()
newRecord =False
rol = models.Rol(
id_rol = max_id + 1,
nombre_rol = f'Rol {operador.nombre_operador}'
)
rol.save()
rol_operador = models.RolOperador(
id_rol = rol,
id_operador = operador
)
rol_operador.save()
return Response({ return Response({
'id_operador': operador.id_operador, 'id_operador': operador.id_operador,