def nombre_repetido():
    rpta = None
    status = 200
    try:
        data = json.loads(request.forms.get('data'))
        usuario_id = data['id']
        nombre_usuario = data['usuario']
        if usuario_id == 'E':
            #SELECT COUNT"(*) AS cantidad FROM usuarios WHERE usuario = ?
            n = session_db().query(Usuario).filter_by(
                usuario=nombre_usuario).count()
            rpta = str(n)
        else:
            #SELECT COUNT(*) AS cantidad FROM usuarios WHERE usuario = ? AND id = ?
            n = session_db().query(Usuario).filter_by(usuario=nombre_usuario,
                                                      id=usuario_id).count()
            if n == 1:
                rpta = '0'
            else:
                #SELECT COUNT(*) AS cantidad FROM usuarios WHERE usuario = ?
                n = session_db().query(Usuario).filter_by(
                    usuario=nombre_usuario).count()
                rpta = str(n)
    except Exception as e:
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en validar si el nombre es repetido',
                str(e)
            ],
        }
        status = 500
        rpta = json.dumps(rpta)
    return HTTPResponse(status=status, body=rpta)
def sistema(usuario_id):
    rpta = None
    status = 200
    try:
        session = session_db()
        rs = session.execute(
            '''
      SELECT T.id AS id, T.nombre AS nombre, (CASE WHEN (P.existe = 1) THEN 1 ELSE 0 END) AS existe FROM
      (
        SELECT id, nombre, 0 AS existe FROM sistemas
      ) T
      LEFT JOIN
      (
        SELECT S.id, S.nombre, 1 AS existe FROM sistemas S
        INNER JOIN usuarios_sistemas US ON US.sistema_id = S.id
        WHERE US.usuario_id = :usuario_id
      ) P
      ON T.id = P.id''', {'usuario_id': usuario_id})
        rpta = [dict(r) for r in rs]
        session.commit()
    except Exception as e:
        print(e)
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en  listar los sistema del usuario',
                str(e)
            ],
        }
        status = 500
    rpta = json.dumps(rpta)
    return HTTPResponse(status=status, body=rpta)
Example #3
0
def guardar():
	data = json.loads(request.query.data)
	nuevos = data['nuevos']
	editados = data['editados']
	eliminados = data['eliminados']
	array_nuevos = []
	rpta = None
	session = session_db()
	try:
		if len(nuevos) != 0:
			for nuevo in nuevos:
				temp_id = nuevo['id']
				nombre = nuevo['nombre']
				s = TipoEstacion(nombre = nombre)
				session.add(s)
				session.flush()
				temp = {'temporal' : temp_id, 'nuevo_id' : s.id}
				array_nuevos.append(temp)
		if len(editados) != 0:
			for editado in editados:
				session.query(TipoEstacion).filter_by(id = editado['id']).update(editado)
		if len(eliminados) != 0:
			for id in eliminados:
				session.query(TipoEstacion).filter_by(id = id).delete()
		session.commit()
		rpta = {'tipo_mensaje' : 'success', 'mensaje' : ['Se ha registrado los cambios en los tipos de estaciones', array_nuevos]}
	except Exception as e:
		session.rollback()
		rpta = {'tipo_mensaje' : 'error', 'mensaje' : ['Se ha producido un error en guardar los tipos de estaciones', str(e)]}
	return json.dumps(rpta)
def guardar_contrasenia():
    rpta = None
    status = 200
    try:
        data = json.loads(request.forms.get('contrasenia'))
        usuario_id = data['id']
        contrasenia = data['contrasenia']
        session = session_db()
        session.query(Usuario).filter_by(id=usuario_id).update({
            'contrasenia':
            contrasenia,
        })
        session.commit()
        rpta = {
            'tipo_mensaje': 'success',
            'mensaje': [
                'Se ha el cambio de contraseña del usuario',
            ]
        }
    except Exception as e:
        print(e)
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en actualizar la contraseña del usaurio',
                str(e)
            ],
        }
        status = 500
    rpta = json.dumps(rpta)
    return HTTPResponse(status=status, body=rpta)
Example #5
0
def crear():
    rpta = None
    nuevo_id = None
    try:
        data = json.loads(request.body.read().decode('UTF-8'))
        session = session_db()
        s = Estacion(nombre=data['nombre'],
                     descripcion=data['descripcion'],
                     latitud=data['latitud'],
                     longitud=data['longitud'],
                     altura=data['altura'],
                     tipo_estacion_id=data['tipo_estacion_id'])
        session.add(s)
        session.flush()
        nuevo_id = s.id
        session.commit()
        rpta = {
            'tipo_mensaje': 'success',
            'mensaje': ['Se ha creado una estación', nuevo_id]
        }
    except Exception as e:
        session.rollback()
        rpta = {
            'tipo_mensaje': 'error',
            'mensaje':
            ['Se ha producido un error en crear una estación',
             str(e)]
        }
    return json.dumps(rpta)
def crear():
    rpta = None
    nuevo_id = None
    try:
        data = json.loads(request.body.read().decode('UTF-8'))
        session = session_db()
        s = TipoEstacion(nombre=data['nombre'])
        session.add(s)
        session.flush()
        nuevo_id = s.id
        session.commit()
        rpta = {
            'tipo_mensaje': 'success',
            'mensaje': ['Se ha creado un tipo estación', nuevo_id]
        }
    except Exception as e:
        session.rollback()
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en crear un nuevo tipo de estación',
                str(e)
            ]
        }
    return json.dumps(rpta)
Example #7
0
def guardar():
    status = 200
    data = json.loads(request.forms.get('data'))
    nuevos = data['nuevos']
    editados = data['editados']
    eliminados = data['eliminados']
    sistema_id = data['extra']['sistema_id']
    array_nuevos = []
    rpta = None
    session = session_db()
    try:
        if len(nuevos) != 0:
            for nuevo in nuevos:
                temp_id = nuevo['id']
                s = Modulo(
                    nombre=nuevo['nombre'],
                    icono=nuevo['icono'],
                    url=nuevo['url'],
                    sistema_id=sistema_id,
                )
                session.add(s)
                session.flush()
                temp = {'temporal': temp_id, 'nuevo_id': s.id}
                array_nuevos.append(temp)
        if len(editados) != 0:
            for editado in editados:
                session.query(Modulo).filter_by(id=editado['id']).update({
                    'nombre':
                    editado['nombre'],
                    'icono':
                    editado['icono'],
                    'url':
                    editado['url'],
                })
        if len(eliminados) != 0:
            for id in eliminados:
                session.query(Modulo).filter_by(id=id).delete()
        session.commit()
        rpta = {
            'tipo_mensaje':
            'success',
            'mensaje': [
                'Se ha registrado los cambios en los módulos del sistema',
                array_nuevos
            ]
        }
    except Exception as e:
        status = 500
        session.rollback()
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en guardar los módulos del sistema',
                str(e)
            ]
        }
    return HTTPResponse(status=status, body=json.dumps(rpta))
Example #8
0
def guardar():
    data = json.loads(request.query.data)
    nuevos = data['nuevos']
    editados = data['editados']
    eliminados = data['eliminados']
    campo_id = data['extra']['campo_id']
    array_nuevos = []
    rpta = None
    session = session_db()
    try:
        if len(nuevos) != 0:
            for nuevo in nuevos:
                temp_id = nuevo['id']
                nombre = nuevo['nombre']
                descripcion = nuevo['descripcion']
                latitud = nuevo['latitud']
                longitud = nuevo['longitud']
                altura = nuevo['altura']
                tipo_estacion_id = nuevo['tipo_estacion_id']
                s = Estacion(nombre=nombre,
                             descripcion=descripcion,
                             latitud=latitud,
                             longitud=longitud,
                             altura=altura,
                             tipo_estacion_id=tipo_estacion_id,
                             campo_id=campo_id)
                session.add(s)
                session.flush()
                temp = {'temporal': temp_id, 'nuevo_id': s.id}
                array_nuevos.append(temp)
        if len(editados) != 0:
            for editado in editados:
                session.query(Estacion).filter_by(
                    id=editado['id']).update(editado)
        if len(eliminados) != 0:
            for id in eliminados:
                session.query(Estacion).filter_by(id=id).delete()
        session.commit()
        rpta = {
            'tipo_mensaje':
            'success',
            'mensaje':
            ['Se ha registrado los cambios en las estaciones', array_nuevos]
        }
    except Exception as e:
        session.rollback()
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje':
            ['Se ha producido un error en guardar las estaciones',
             str(e)]
        }
    return json.dumps(rpta)
def guardar():
    status = 200
    data = json.loads(request.forms.get('data'))
    editados = data['editados']
    usuario_id = data['extra']['usuario_id']
    array_nuevos = []
    rpta = None
    session = session_db()
    try:
        if len(editados) != 0:
            for editado in editados:
                permiso_id = editado['id']
                existe = editado['existe']
                e = session.query(UsuarioPermiso).filter_by(
                    permiso_id=permiso_id, usuario_id=usuario_id).first()
                if existe == 0:  #borrar si existe
                    if e != None:
                        session.query(UsuarioPermiso).filter_by(
                            permiso_id=permiso_id,
                            usuario_id=usuario_id).delete()
                elif existe == 1:  #crear si no existe
                    if e == None:
                        s = UsuarioPermiso(
                            permiso_id=permiso_id,
                            usuario_id=usuario_id,
                        )
                        session.add(s)
                        session.flush()
        session.commit()
        rpta = {
            'tipo_mensaje':
            'success',
            'mensaje': [
                'Se ha registrado la asociación de permisos al usuario',
                array_nuevos
            ]
        }
    except Exception as e:
        status = 500
        session.rollback()
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en asociar los permisos al usuario',
                str(e)
            ]
        }
    return HTTPResponse(status=status, body=json.dumps(rpta))
Example #10
0
def editar():
    rpta = None
    try:
        data = json.loads(request.body.read().decode('UTF-8'))
        session = session_db()
        session.query(Estacion).filter_by(id=data['id']).update(data)
        session.commit()
        rpta = {
            'tipo_mensaje': 'success',
            'mensaje': ['Se ha editado una estación']
        }
    except Exception as e:
        session.rollback()
        rpta = {
            'tipo_mensaje': 'error',
            'mensaje':
            ['Se ha producido un error en editar una estación',
             str(e)]
        }
    return json.dumps(rpta)
def externo_validar():
    status = 200
    usuario = request.forms.get('usuario')
    contrasenia = request.forms.get('contrasenia')
    rpta = None
    session = session_db()
    try:
        rs = session.query(Usuario).filter_by(usuario=usuario,
                                              contrasenia=contrasenia).count()
        rpta = str(rs)
        session.commit()
    except Exception as e:
        status = 500
        session.rollback()
        rpta = json.dumps({
            'tipo_mensaje':
            'error',
            'mensaje':
            ['Se ha producido un error en validar el usuario externo',
             str(e)]
        })
    return HTTPResponse(status=status, body=rpta)
def guardar_usuario_correo():
    rpta = None
    status = 200
    try:
        data = json.loads(request.forms.get('usuario'))
        usuario_id = data['id']
        correo = data['correo']
        nombre_usuario = data['usuario']
        estado_usuario_id = data['estado_usuario_id']
        session = session_db()
        session.query(Usuario).filter_by(id=usuario_id).update({
            'usuario':
            nombre_usuario,
            'correo':
            correo,
            'estado_usuario_id':
            estado_usuario_id
        })
        session.commit()
        rpta = {
            'tipo_mensaje':
            'success',
            'mensaje': [
                'Se ha registrado los cambios en los datos generales del usuario',
            ]
        }
    except Exception as e:
        print(e)
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en validar si la contraseña del usuario',
                str(e)
            ],
        }
        status = 500
    rpta = json.dumps(rpta)
    return HTTPResponse(status=status, body=rpta)
def contrasenia_repetida():
    rpta = None
    status = 200
    try:
        data = json.loads(request.forms.get('data'))
        usuario_id = data['id']
        contrasenia = data['contrasenia']
        n = session_db().query(Usuario).filter_by(contrasenia=contrasenia,
                                                  id=usuario_id).count()
        rpta = str(n)
    except Exception as e:
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en validar si la contraseña del usuario',
                str(e)
            ],
        }
        status = 500
        rpta = json.dumps(rpta)
    return HTTPResponse(status=status, body=rpta)
Example #14
0
def menu():
    rpta = None
    status = 200
    sistema_id = request.query.sistema_id
    modulo = request.query.modulo
    try:
        conn = engine.connect()
        rs = session_db().query(VWModuloSubtituloItem).filter_by(
            sistema_id=sistema_id, modulo=modulo)
        subtitulos = []
        subtitulos_temp = []
        items = []
        for r in rs:
            subtitulo = r.subtitulo
            if (subtitulo in subtitulos) == False:
                subtitulos.append(subtitulo)
                i = {'subtitulo': r.subtitulo, 'items': []}
                items.append(i)
            t = {'subtitulo': r.subtitulo, 'item': r.item, 'url': r.url_item}
            subtitulos_temp.append(t)
        for subtitulo in subtitulos:
            for temp in subtitulos_temp:
                if (temp['subtitulo'] == subtitulo):
                    i = {'item': temp['item'], 'url': temp['url']}
                    for item in items:
                        if subtitulo == item['subtitulo']:
                            item['items'].append(i)
        rpta = items
    except Exception as e:
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en listar el menú de los items del módulo',
                str(e)
            ],
        }
        status = 500
    return HTTPResponse(status=status, body=json.dumps(rpta))
Example #15
0
def externo_validar():
    status = 200
    usuario = request.forms.get('usuario')
    sistema_id = request.forms.get('sistema_id')
    rpta = None
    session = session_db()
    try:
        rs = session.query(VWUsuarioSistema).filter_by(usuario=usuario,
                                                       id=sistema_id).count()
        rpta = str(rs)
        session.commit()
    except Exception as e:
        status = 500
        session.rollback()
        rpta = json.dumps({
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en validar si el usuario tiene acceso a dicho sistema',
                str(e)
            ]
        })
    return HTTPResponse(status=status, body=rpta)
def permiso(sistema_id, usuario_id):
    rpta = None
    status = 200
    try:
        session = session_db()
        rs = session.execute(
            '''
      SELECT T.id AS id, T.nombre AS nombre, (CASE WHEN (P.existe = 1) THEN 1 ELSE 0 END) AS existe, T.llave AS llave FROM
	  (
		SELECT id, nombre, llave, 0 AS existe FROM permisos WHERE sistema_id = :sistema_id
	  ) T
	  LEFT JOIN
	  (
		SELECT P.id, P.nombre,  P.llave, 1 AS existe  FROM permisos P
		INNER JOIN usuarios_permisos UP ON P.id = UP.permiso_id
		WHERE UP.usuario_id = :usuario_id
	  ) P
	ON T.id = P.id''', {
                'usuario_id': usuario_id,
                'sistema_id': sistema_id
            })
        rpta = [dict(r) for r in rs]
        session.commit()
    except Exception as e:
        print(e)
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error error en listar los permisos del usuario',
                str(e)
            ],
        }
        status = 500
    rpta = json.dumps(rpta)
    return HTTPResponse(status=status, body=rpta)