forked from TDTP/admin_transporte_backend
fix crear usuario
parent
9d1507f445
commit
6cafb320aa
|
@ -39,3 +39,7 @@ Content-Type: application/json
|
||||||
{
|
{
|
||||||
"path": "/usuarios"
|
"path": "/usuarios"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###
|
||||||
|
GET {{server}}/lineas/?offset=0&limit=10
|
||||||
|
Authorization: Bearer {{token}}
|
|
@ -2,7 +2,7 @@ def rut_valido(rut):
|
||||||
rut = rut.replace(".", "").replace("-", "") # Eliminar puntos y guiones
|
rut = rut.replace(".", "").replace("-", "") # Eliminar puntos y guiones
|
||||||
if len(rut) < 2:
|
if len(rut) < 2:
|
||||||
return False
|
return False
|
||||||
verificador = rut[-1]
|
verificador = rut[-1].upper()
|
||||||
numero = rut[:-1]
|
numero = rut[:-1]
|
||||||
try:
|
try:
|
||||||
suma = 0
|
suma = 0
|
||||||
|
@ -14,7 +14,7 @@ def rut_valido(rut):
|
||||||
if digito_verificador == 11:
|
if digito_verificador == 11:
|
||||||
digito_verificador = 0
|
digito_verificador = 0
|
||||||
if digito_verificador == 10:
|
if digito_verificador == 10:
|
||||||
digito_verificador = "k"
|
digito_verificador = "K"
|
||||||
return str(digito_verificador) == verificador.lower()
|
return str(digito_verificador) == verificador
|
||||||
except ValueError:
|
except ValueError:
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -17,21 +17,18 @@ class LineaViewSet(viewsets.ModelViewSet):
|
||||||
queryset = models.Linea.objects.all()
|
queryset = models.Linea.objects.all()
|
||||||
serializer_class = serializers.LineaSerializer
|
serializer_class = serializers.LineaSerializer
|
||||||
filter_backends = [DjangoFilterBackend]
|
filter_backends = [DjangoFilterBackend]
|
||||||
filterset_fields = ['id_operador', 'route_short_name', 'route_long_name', 'vigente']
|
filterset_fields = ['id_operador', 'route_short_name', 'route_long_name', 'vigente', 'rollinea__id_rol']
|
||||||
|
|
||||||
def list(self, request, pk=None, *args, **kwargs):
|
def list(self, request, pk=None, *args, **kwargs):
|
||||||
login = request.jwt_info['login']
|
login = request.jwt_info['login']
|
||||||
usuario = models.Usuario.objects.filter(login=login).first()
|
usuario = models.Usuario.objects.filter(login=login).first()
|
||||||
|
|
||||||
if usuario.superuser == False:
|
if usuario.superuser != True:
|
||||||
rol_lineas = models.RolLinea.objects.filter(id_rol=usuario.id_rol)
|
self.request.GET.rollinea__id_rol = usuario.id_rol.id_rol
|
||||||
lineas = []
|
request.GET.rollinea__id_rol = usuario.id_rol.id_rol
|
||||||
for row in rol_lineas:
|
# request.GET.setdefault('rollinea__id_rol',usuario.id_rol)
|
||||||
lineas.append(model_to_dict(row.id_linea))
|
|
||||||
|
|
||||||
return JsonResponse(lineas, safe=False)
|
return super().list(request, pk, *args, **kwargs)
|
||||||
else:
|
|
||||||
return super().list(request, pk, *args, **kwargs)
|
|
||||||
|
|
||||||
@action(detail=False, methods=['get'])
|
@action(detail=False, methods=['get'])
|
||||||
def proto(self, request, pk=None):
|
def proto(self, request, pk=None):
|
||||||
|
|
|
@ -48,14 +48,19 @@ class UsuarioViewSet(viewsets.ModelViewSet):
|
||||||
persona.id_tipo_tratamiento = id_tipo_tratamiento
|
persona.id_tipo_tratamiento = id_tipo_tratamiento
|
||||||
persona.save()
|
persona.save()
|
||||||
|
|
||||||
|
rol = models.Rol.objects.filter(id_rol=input.get('id_rol',None)).first()
|
||||||
|
if rol == None:
|
||||||
|
raise ValueError('Rol no encontrado')
|
||||||
|
|
||||||
usuario = models.Usuario(
|
usuario = models.Usuario(
|
||||||
rut = persona,
|
rut = persona,
|
||||||
login = input['login'],
|
login = input['login'],
|
||||||
|
id_rol = rol,
|
||||||
vigente = input.get('vigente', False),
|
vigente = input.get('vigente', False),
|
||||||
)
|
)
|
||||||
usuario.save()
|
usuario.save()
|
||||||
|
|
||||||
logging.error(f'clave = {input["clave"]}')
|
# logging.error(f'clave = {input["clave"]}')
|
||||||
if input['clave']:
|
if input['clave']:
|
||||||
logging.error('Modificar clave de usuario')
|
logging.error('Modificar clave de usuario')
|
||||||
clave = models.UsuarioClave.objects.filter(login = usuario.login).first()
|
clave = models.UsuarioClave.objects.filter(login = usuario.login).first()
|
||||||
|
@ -68,7 +73,7 @@ class UsuarioViewSet(viewsets.ModelViewSet):
|
||||||
else:
|
else:
|
||||||
logging.error('Clave Usuario se creará')
|
logging.error('Clave Usuario se creará')
|
||||||
clave = models.UsuarioClave(
|
clave = models.UsuarioClave(
|
||||||
login = usuario.login,
|
login = usuario,
|
||||||
clave = input['clave'],
|
clave = input['clave'],
|
||||||
fecha_modificacion = datetime.datetime.now()
|
fecha_modificacion = datetime.datetime.now()
|
||||||
)
|
)
|
||||||
|
@ -153,14 +158,14 @@ class UsuarioViewSet(viewsets.ModelViewSet):
|
||||||
return HttpResponse(str(e), status = 500)
|
return HttpResponse(str(e), status = 500)
|
||||||
|
|
||||||
@action(detail=False, methods=['post'])
|
@action(detail=False, methods=['post'])
|
||||||
def permisos(self, request):
|
def permisos(self, request):
|
||||||
input = {}
|
input = {}
|
||||||
if request.body > b'':
|
if request.body > b'':
|
||||||
input = json.loads(request.body)
|
input = json.loads(request.body)
|
||||||
|
|
||||||
login = request.jwt_info['login']
|
login = request.jwt_info['login']
|
||||||
usuario = models.Usuario.objects.filter(login=login).first()
|
usuario = models.Usuario.objects.filter(login=login).first()
|
||||||
escritura = usuario.superuser
|
escritura = usuario.superuser == True
|
||||||
|
|
||||||
if 'path' in input:
|
if 'path' in input:
|
||||||
path = input.get('path')
|
path = input.get('path')
|
||||||
|
@ -187,4 +192,4 @@ class UsuarioViewSet(viewsets.ModelViewSet):
|
||||||
'nombre_app': registro.id_aplicacion.nombre_app,
|
'nombre_app': registro.id_aplicacion.nombre_app,
|
||||||
})
|
})
|
||||||
|
|
||||||
return JsonResponse({ "aplicaciones": aplicaciones })
|
return JsonResponse({ "aplicaciones": aplicaciones })
|
||||||
|
|
Loading…
Reference in New Issue