예제 #1
0
def listar(sistema_id, rol_id):
    rpta = None
    status = 200
    try:
        conn = engine.connect()
        stmt = ("""
      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 = {0}
      ) T
      LEFT JOIN
      (
        SELECT P.id, P.nombre,  P.llave, 1 AS existe  FROM permisos P
        INNER JOIN roles_permisos RP ON P.id = RP.permiso_id
        WHERE RP.rol_id = {1}
      ) P
      ON T.id = P.id""").format(sistema_id, rol_id)
        rpta = [dict(r) for r in conn.execute(stmt)]
    except Exception as e:
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en listar los permisos del rol',
                str(e)
            ],
        }
        status = 500
    return HTTPResponse(status=status, body=json.dumps(rpta))
예제 #2
0
def listar_select():
    conn = engine.connect()
    stmt = select([UnidadMedida])
    rpta = []
    for r in conn.execute(stmt):
        t = {'id': r[0], 'nombre': r[1] + ', ' + r[2]}
        rpta.append(t)
    return json.dumps(rpta)
예제 #3
0
def listar_estacion(estacion_id):
    conn = engine.connect()
    stmt = """
		SELECT S.id, S.nombre, S.descripcion, (U.nombre || ',' || U.simbolo) AS unidad_medida, S.unidad_medida_id 
		FROM sensores S INNER JOIN unidad_medidas U ON U.id = S.unidad_medida_id
		WHERE S.estacion_id = :estacion_id
		"""
    return json.dumps(
        [dict(r) for r in conn.execute(stmt, {'estacion_id': estacion_id})])
예제 #4
0
def listar():
    rpta = None
    status = 200
    try:
        conn = engine.connect()
        stmt = select([Usuario.id, Usuario.usuario, Usuario.correo])
        rs = conn.execute(stmt)
        rpta = [dict(r) for r in conn.execute(stmt)]
    except Exception as e:
        rpta = {
            'tipo_mensaje': 'error',
            'mensaje':
            ['Se ha producido un error en listar los usuarios',
             str(e)],
        }
        status = 500
    return HTTPResponse(status=status, body=json.dumps(rpta))
예제 #5
0
def listar(subtitulo_id):
  rpta = None
  status = 200
  try:
    conn = engine.connect()
    stmt = select([Item]).where(Item.subtitulo_id == subtitulo_id)
    rs = conn.execute(stmt)
    rpta = [dict(r) for r in conn.execute(stmt)]
  except Exception as e:
    rpta = {
      'tipo_mensaje': 'error',
      'mensaje': [
        'Se ha producido un error en listar los items del subtítulo',
        str(e)
      ],
    }
    status = 500
  return HTTPResponse(status = status, body = json.dumps(rpta))
예제 #6
0
def listar(sistema_id):
    rpta = None
    status = 200
    try:
        conn = engine.connect()
        stmt = select([Permiso]).where(Permiso.sistema_id == sistema_id)
        rs = conn.execute(stmt)
        rpta = [dict(r) for r in conn.execute(stmt)]
    except Exception as e:
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en listar los permisos del sistema',
                str(e)
            ],
        }
        status = 500
    return HTTPResponse(status=status, body=json.dumps(rpta))
예제 #7
0
def listar(usuario_id):
    rpta = None
    status = 200
    try:
        conn = engine.connect()
        stmt = select([VWUsuarioCorreoEstado
                       ]).where(VWUsuarioCorreoEstado.id == usuario_id)
        rs = conn.execute(stmt)
        rpta = [dict(r) for r in conn.execute(stmt)]
        rpta = rpta[0]
    except Exception as e:
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en  obtener el usuario y correo',
                str(e)
            ],
        }
        status = 500
    return HTTPResponse(status=status, body=json.dumps(rpta))
예제 #8
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))
예제 #9
0
def menu(sistema_id):
    rpta = None
    status = 200
    try:
        conn = engine.connect()
        stmt = select([VWSistemaModulo
                       ]).where(VWSistemaModulo.sistema_id == sistema_id)
        rs = conn.execute(stmt)
        rpta = []
        for r in rs:
            t = {'url': r.url, 'nombre': r.nombre_modulo}
            rpta.append(t)
    except Exception as e:
        rpta = {
            'tipo_mensaje':
            'error',
            'mensaje': [
                'Se ha producido un error en listar el menú de los modulos del sistema',
                str(e)
            ],
        }
        status = 500
    return HTTPResponse(status=status, body=json.dumps(rpta))
예제 #10
0
def index(campo_id):
    conn = engine.connect()
    stmt = select([Estacion]).where(Estacion.campo_id == campo_id)
    return json.dumps([dict(r) for r in conn.execute(stmt)])
예제 #11
0
def listar():
    conn = engine.connect()
    stmt = select([Estacion])
    return json.dumps([dict(r) for r in conn.execute(stmt)])
예제 #12
0
 def get(self):
     conn = engine.connect()
     stmt = select([Departamento])
     return self.write(json.dumps([dict(r) for r in conn.execute(stmt)]))
예제 #13
0
def listar():
    conn = engine.connect()
    stmt = select([UnidadMedida])
    return json.dumps([dict(r) for r in conn.execute(stmt)])