Beispiel #1
0
def obtener_acceso_modulos(token=None):
    config = AssistanceModel._config()
    perfiles = config['api']['perfiles']
    for perfil in perfiles:
        p = perfil['perfil']
        response = warden.has_all_profiles(token, [p])
        if 'profile' in response and response['profile']:
            return perfil['funciones']

    """
        se chequea el modelo para controlar si es necesario asignarle ciertas funciones
    """
    autorizador_id = token['sub']
    funciones = AssistanceModel.obtener_acceso_modulos(autorizador_id)
    if funciones:
        return funciones

    """
        si no matcheo anteriorment entonces retorno las funciones por defecto.
    """
    pgen = (p for p in perfiles if p['perfil'] == 'default')
    pdefault = next(pgen)
    if not pdefault or pdefault['perfil'] != 'default':
        raise Exception('no se encuentra perfil por defecto')
    return pdefault['funciones']
Beispiel #2
0
def _acceso_modulos_modelo(uid):
    return AssistanceModel.obtener_acceso_modulos(uid)