forked from TDTP/admin_transporte_backend
se modifica funcion que entrega permiso
parent
d42149192f
commit
840f0449d6
|
@ -26,6 +26,16 @@ GET {{server}}/paraderos-image/?id_paradero=42318
|
|||
Authorization: Bearer {{token}}
|
||||
|
||||
###
|
||||
# @name permisos
|
||||
# @name permisos_todos
|
||||
POST {{server}}/usuarios/permisos/
|
||||
Authorization: Bearer {{token}}
|
||||
|
||||
###
|
||||
# @name permisos_path
|
||||
POST {{server}}/usuarios/permisos/
|
||||
Authorization: Bearer {{token}}
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"path": "/usuarios"
|
||||
}
|
||||
|
|
|
@ -154,24 +154,35 @@ class UsuarioViewSet(viewsets.ModelViewSet):
|
|||
|
||||
@action(detail=False, methods=['post'])
|
||||
def permisos(self, request):
|
||||
input = {}
|
||||
if request.body > b'':
|
||||
input = json.loads(request.body)
|
||||
|
||||
login = request.jwt_info['login']
|
||||
|
||||
usuario = models.Usuario.objects.filter(login=login).first()
|
||||
registros = models.RolAplicacion.objects.filter(id_rol=usuario.id_rol)
|
||||
|
||||
aplicaciones = []
|
||||
for registro in registros:
|
||||
if registro.id_aplicacion.vigente:
|
||||
rol_app = models.RolAplicacion.objects.filter(id_rol=registro.id_rol, id_aplicacion=registro.id_aplicacion).first()
|
||||
escritura = True
|
||||
if rol_app != None:
|
||||
escritura = rol_app.solo_visualizar != True
|
||||
if 'path' in input:
|
||||
path = input.get('path')
|
||||
aplicacion = models.Aplicacion.objects.filter(path_app=path).first()
|
||||
rol_aplicacion = models.RolAplicacion.objects.filter(id_rol=usuario.id_rol, id_aplicacion=aplicacion.id_aplicacion).first()
|
||||
return JsonResponse({
|
||||
'path_app': path,
|
||||
'nombre_app': aplicacion.nombre_app,
|
||||
'escritura': rol_aplicacion.solo_visualizar == False
|
||||
})
|
||||
else:
|
||||
registros = models.RolAplicacion.objects.filter(id_rol=usuario.id_rol)
|
||||
aplicaciones = []
|
||||
for registro in registros:
|
||||
if registro.id_aplicacion.vigente:
|
||||
rol_app = models.RolAplicacion.objects.filter(id_rol=registro.id_rol, id_aplicacion=registro.id_aplicacion).first()
|
||||
escritura = True
|
||||
if rol_app != None:
|
||||
escritura = rol_app.solo_visualizar != True
|
||||
|
||||
aplicaciones.append({
|
||||
'id_aplicacion': registro.id_aplicacion.id_aplicacion,
|
||||
'path_app': registro.id_aplicacion.path_app,
|
||||
'nombre_app': registro.id_aplicacion.nombre_app,
|
||||
'escritura': escritura
|
||||
})
|
||||
aplicaciones.append({
|
||||
'path_app': registro.id_aplicacion.path_app,
|
||||
'nombre_app': registro.id_aplicacion.nombre_app,
|
||||
})
|
||||
|
||||
return JsonResponse({ "aplicaciones": aplicaciones })
|
||||
return JsonResponse({ "aplicaciones": aplicaciones })
|
Loading…
Reference in New Issue