fix crear usuario

francisco/photos
Francisco Sandoval 2024-01-12 20:11:07 -03:00
parent 9d1507f445
commit 6cafb320aa
4 changed files with 23 additions and 17 deletions

View File

@ -39,3 +39,7 @@ Content-Type: application/json
{
"path": "/usuarios"
}
###
GET {{server}}/lineas/?offset=0&limit=10
Authorization: Bearer {{token}}

View File

@ -2,7 +2,7 @@ def rut_valido(rut):
rut = rut.replace(".", "").replace("-", "") # Eliminar puntos y guiones
if len(rut) < 2:
return False
verificador = rut[-1]
verificador = rut[-1].upper()
numero = rut[:-1]
try:
suma = 0
@ -14,7 +14,7 @@ def rut_valido(rut):
if digito_verificador == 11:
digito_verificador = 0
if digito_verificador == 10:
digito_verificador = "k"
return str(digito_verificador) == verificador.lower()
digito_verificador = "K"
return str(digito_verificador) == verificador
except ValueError:
return False

View File

@ -17,20 +17,17 @@ class LineaViewSet(viewsets.ModelViewSet):
queryset = models.Linea.objects.all()
serializer_class = serializers.LineaSerializer
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):
login = request.jwt_info['login']
usuario = models.Usuario.objects.filter(login=login).first()
if usuario.superuser == False:
rol_lineas = models.RolLinea.objects.filter(id_rol=usuario.id_rol)
lineas = []
for row in rol_lineas:
lineas.append(model_to_dict(row.id_linea))
if usuario.superuser != True:
self.request.GET.rollinea__id_rol = usuario.id_rol.id_rol
request.GET.rollinea__id_rol = usuario.id_rol.id_rol
# request.GET.setdefault('rollinea__id_rol',usuario.id_rol)
return JsonResponse(lineas, safe=False)
else:
return super().list(request, pk, *args, **kwargs)
@action(detail=False, methods=['get'])

View File

@ -48,14 +48,19 @@ class UsuarioViewSet(viewsets.ModelViewSet):
persona.id_tipo_tratamiento = id_tipo_tratamiento
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(
rut = persona,
login = input['login'],
id_rol = rol,
vigente = input.get('vigente', False),
)
usuario.save()
logging.error(f'clave = {input["clave"]}')
# logging.error(f'clave = {input["clave"]}')
if input['clave']:
logging.error('Modificar clave de usuario')
clave = models.UsuarioClave.objects.filter(login = usuario.login).first()
@ -68,7 +73,7 @@ class UsuarioViewSet(viewsets.ModelViewSet):
else:
logging.error('Clave Usuario se creará')
clave = models.UsuarioClave(
login = usuario.login,
login = usuario,
clave = input['clave'],
fecha_modificacion = datetime.datetime.now()
)
@ -160,7 +165,7 @@ class UsuarioViewSet(viewsets.ModelViewSet):
login = request.jwt_info['login']
usuario = models.Usuario.objects.filter(login=login).first()
escritura = usuario.superuser
escritura = usuario.superuser == True
if 'path' in input:
path = input.get('path')