Exemplo n.º 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']
Exemplo n.º 2
0
def lugares(token=None):
    uid = token['sub']
    search = request.args.get('q')
    if not search:
        search = ''

    prof = warden.has_one_profile(token, ['assistance-super-admin','assistance-admin','assistance-operator', 'assistance-user'])
    if prof and prof['profile'] == True:
        config = AssistanceModel._config()
        lid = config['api']['lugar_raiz']
        return AssistanceModel.sublugares_por_lugar_id(lugar_id=lid, search=search)

    return AssistanceModel.lugares(session=None, autorizador_id=uid, search=search)
Exemplo n.º 3
0
def retornar_config_ui():
    config = AssistanceModel._config()
    return config['ui']