forked from TDTP/admin_transporte_backend
Merge remote-tracking branch 'origin/develop/Ronald'
commit
16d449ad58
|
@ -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:
|
||||||
|
|
|
@ -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'),
|
||||||
)
|
)
|
||||||
operador.save()
|
|
||||||
|
|
||||||
|
if newRecord:
|
||||||
# se crea el rol para el operador
|
# se crea el rol para el operador
|
||||||
max_id = models.Rol.objects.aggregate(Max('id_rol'))['id_rol__max']
|
max_id = models.Rol.objects.aggregate(Max('id_rol'))['id_rol__max']
|
||||||
|
|
||||||
rol = models.Rol(
|
rol = models.Rol(
|
||||||
id_rol = max_id + 1,
|
id_rol = max_id + 1,
|
||||||
nombre_rol = f'Rol {operador.nombre_operador}'
|
nombre_rol = f'Rol {operador.nombre_operador}'
|
||||||
)
|
)
|
||||||
rol.save()
|
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()
|
||||||
|
|
||||||
rol_operador = models.RolOperador(
|
rol_operador = models.RolOperador(
|
||||||
id_rol = rol,
|
id_rol = rol,
|
||||||
id_operador = operador
|
id_operador = operador
|
||||||
)
|
)
|
||||||
rol_operador.save()
|
rol_operador.save()
|
||||||
|
newRecord =False
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return Response({
|
return Response({
|
||||||
'id_operador': operador.id_operador,
|
'id_operador': operador.id_operador,
|
||||||
|
|
Loading…
Reference in New Issue