diff --git a/project/api/views/contrato.py b/project/api/views/contrato.py index 9c97b85..eb0027b 100755 --- a/project/api/views/contrato.py +++ b/project/api/views/contrato.py @@ -1,7 +1,6 @@ from django.db import transaction from django.http import HttpResponse, JsonResponse -from django.contrib.auth.hashers import make_password from rest_framework import viewsets from rest_framework.response import Response from rest_framework.decorators import action @@ -23,7 +22,6 @@ class ContratoViewSet(viewsets.ModelViewSet): try: with transaction.atomic(): input = json.loads(request.body) - persona = models.Persona.objects.filter(rut = input['rut']).first() id_tipo_tratamiento = input.get('id_tipo_tratamiento',None) if not id_tipo_tratamiento: diff --git a/project/api/views/linea.py b/project/api/views/linea.py index 6286545..5e3f1b8 100755 --- a/project/api/views/linea.py +++ b/project/api/views/linea.py @@ -104,7 +104,7 @@ class LineaViewSet(viewsets.ModelViewSet): db_host = getenv('DB_REDIS_HOST') db_port = getenv('DB_REDIS_PORT') r = redis.Redis(host=db_host, port=db_port, decode_responses=True) - + paraderos = models.Paradero.objects \ .filter(vigente=True, lineaparadero__id_linea=pk) \ .values('id_paradero') \ diff --git a/project/api/views/operador.py b/project/api/views/operador.py index 32a6cac..a87d6f0 100755 --- a/project/api/views/operador.py +++ b/project/api/views/operador.py @@ -35,30 +35,57 @@ class OperadorViewSet(viewsets.ModelViewSet): "No se puede crear el operador: 'id_operador' no proporcionado.", status=HTTP_400_BAD_REQUEST ) - + newRecord= False; + if not models.Operador.objects.filter(id_operador=id_operador).exists(): + newRecord = True + try: with transaction.atomic(): + + #Se Define Operador, pero no se graba operador = models.Operador( - id_operador = id_operador, - nombre_operador = request.data.get('nombre_operador'), - vigente = request.data.get('vigente'), - ) + id_operador = id_operador, + nombre_operador = request.data.get('nombre_operador'), + 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() + + + 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 - max_id = models.Rol.objects.aggregate(Max('id_rol'))['id_rol__max'] + rol_operador = models.RolOperador( + 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({ 'id_operador': operador.id_operador,