Exemple #1
0
def CargarTabla(grafo, tabla):
    fila = 0
    tabla.setRowCount(grafo.tamanioGrafo())
    arch = archivo.abrir(Constantes.DirVertices)  #abro archivo vertices
    limpiar(tabla)
    lista = grafo.ListaVertices()
    for aux in lista:
        dato = archivo.leer(arch, lista[fila])
        nombre = QtGui.QTableWidgetItem(str(aux) + ': ' + dato.nombre)
        nombre.setToolTip('Descripcion:<b>' + dato.descripcion + '</b>.')
        tabla.setVerticalHeaderItem(fila, nombre)

        dibujarRelaciones(fila, tabla, grafo, lista[fila])

        fila += 1
    archivo.cerrar(arch)
Exemple #2
0
def registro():
    """Aqui se realiza la registracion de nuevos usuarios, se valida si el usuario se encuentra registrado comparando
    los datos ingresados en la pagina con con los datos de usuarios registrados que contiene el archivo passws.csv, esta
     info es asignada  a la variable user, luego de esta validacion se comparan que coincidan los campos que hacen
     refencia al nombre y contraseniaa del nuevo usuario, si esto es afirmativo, se procedera a grabar los datos en el
     arhivo passws.csv"""
    def limpiar():
        #limpieza de los campos de la pagina
        form.passw1.data = " "
        form.usu1.data = " "
        form.passw.data = " "
        form.usu.data = " "

    user = archivo.leer("archivos_csv/passws.csv")
    form = MyRegistro()
    registrado = True
    if form.validate_on_submit():
        for l in user:
            if l['usuario'] == form.usu.data.strip():
                limpiar()
                # a traves de la vairable msj, en html se informa que usuario se encuentra registrado
                return render_template('registro.html', form=form, msj="reg")
            else:
                registrado = False
        if form.passw1.data.strip() == form.passw.data.strip():
            if form.usu1.data.strip() == form.usu.data.strip():
                if registrado == False:
                    archivo.grabar("archivos_csv/passws.csv",
                                   form.passw.data.strip(),
                                   form.usu.data.strip())
                    limpiar()
                    # a traves de la variable msj, en html se informa la registracion exitosa
                    return render_template('registro.html',
                                           form=form,
                                           msj="ok")
            else:
                # a traves de la variable usu, en html se muestra mensaje indicando que no coinciden los usuarios ingresados
                return render_template('registro.html', form=form, msj="usu")
        else:
            # a traves de la variable msjn en html se muestra mensaje indicando que no coinciden las contrasenias ingresadas
            return render_template('registro.html', form=form, msj="pass")
    return render_template('registro.html', form=form)
Exemple #3
0
def mejores_clientes():
    """En esta pagina se generara y visualizara el listado de los clientes que realizaron la mayor cantidad de compras,
     para realizar esto se necesita:
      l- a cantidad de clientes que se quiere mostrar, el usuario ingresara este dato.
      2- la informacion de las ventas se obtiene del archivo archivo.csv, el cual sera leido y asignados los datos en la
         variable listado.
      3- la  variable lista_busqueda en la cual se asigna el listado de clientes sin duplicados que contiene el archivo
         archivo.csv.
      Primero se genera una lista que contiene el nombre del cliente y cuanto gasto, y luego con ella se genera otra
      lista con la cantidad de items que pide el usuario, se la ordena para que los valores sean visualizados en forma
      descendente."""
    if session.get("nombre"):
        form = MyConsulta()
        if form.validate_on_submit():
            listado = archivo.leer("archivos_csv/archivo.csv")
            masgasto = []
            consulta = []
            lista_busqueda = archivo.lista_clientes("archivos_csv/archivo.csv")
            for listcli in lista_busqueda:
                gastoTotal = 0
                for clientes in listado:
                    if listcli == clientes['CLIENTE']:
                        gasto = float(clientes['CANTIDAD']) * float(
                            clientes['PRECIO'])
                        gastoTotal = gastoTotal + gasto
                masgasto.append([listcli, gastoTotal])
            cont = 1
            masgasto.sort(key=lambda c: c[1], reverse=True)
            print(masgasto)
            for datos in masgasto:
                if cont <= form.cantidad.data:
                    consulta.append(datos)
                    cont = cont + 1
            archivo.grabar_consulta_mjor_cliente(consulta)
            return render_template('mejores_clientes.html',
                                   form=form,
                                   fc=True,
                                   consulta=consulta,
                                   msg2="IMPORTE")
        return render_template('mejores_clientes.html', form=form)
    flash('Debe estar logueado para acceder')
    return redirect(url_for('login'))
Exemple #4
0
def login():

    user2 = archivo.leer("baseDeDatos/passws.csv")
    form2 = Login()
    if form2.validate_on_submit():
        for l in user2:
            if l['usuario'] == form2.usu.data.strip():
                if l['login'] == form2.passw.data.strip():
                    session["nombre"] = form2.usu.data.strip()
                    if session["nombre"] == "admin":
                        return redirect(url_for('ventas'))
                    else:
                        return redirect(url_for('usuario'))
                else:
                    form2.passw.data = ""
                    return render_template('login.html', form = form2, msj = "ok")
        form2.passw.data = ""
        form2.usu.data = ""
        return render_template("login.html", form=form2, msj="mal")
    return render_template("login.html", form = form2)
Exemple #5
0
def mas_vendidos():
    """En esta pagina se generara y visualizara el listado de los productos de mayor venta para realizar esto se
    necesita:
          l- a cantidad de productos que se quiere mostrar, el usuario ingresara este dato.
          2- la informacion de las ventas se obtiene del archivo archivo.csv, el cual sera leido y asignados los datos
           en la variable listado.
          3- la  variable lista_busqueda en la cual se asigna el listado de productos sin duplicados que contiene el
          archivo archivo.csv.
          Primero se genera una lista que contiene el nombre del producto, cantidad vendida y codigo, y luego con ella
          se genera otra lista con la cantidad de items que pide el usuario, se la ordena para que los valores sean
          visualizados en forma descendente."""
    if session.get("nombre"):
        form = MyConsulta()
        if form.validate_on_submit():
            listado = archivo.leer("archivos_csv/archivo.csv")
            masvendio = []
            consulta = []
            lista_busqueda = archivo.lista_producto("archivos_csv/archivo.csv")
            for listcli in lista_busqueda:
                cant = 0
                codigo = 0
                for clientes in listado:
                    if listcli == clientes['PRODUCTO']:
                        cant = cant + float(clientes['CANTIDAD'])
                        codigo = clientes['CODIGO']
                masvendio.append([codigo, listcli, int(cant)])
            cont = 1
            masvendio.sort(key=lambda c: c[2], reverse=True)
            for datos in masvendio:
                if cont <= form.cantidad.data:
                    consulta.append(datos)
                    cont = cont + 1
            archivo.grabar_consulta_mas_vendidos(consulta)
            return render_template('mas_vendidos.html',
                                   form=form,
                                   fc=True,
                                   consulta=consulta,
                                   msg2="CANTIDAD")
        return render_template('mas_vendidos.html', form=form)
    flash('Debe estar logueado para acceder')
    return redirect(url_for('login'))
Exemple #6
0
def cambio_contrasenia():
    """cambio de contraseña del usuario, se guarda en variable el diccionario, para
    poder asignarle el cambio de contraseña, y luego se guarda en archivo la modificacion realizada"""
    if session.get("nombre"):
        form = MyContrasenia()
        if form.validate_on_submit():
            usuarios = archivo.leer("archivos_csv/passws.csv")
            if form.passw1.data.strip() == form.passw.data.strip():
                for l in usuarios:
                    if l['usuario'] == session["nombre"]:
                        l['login'] = form.passw1.data.strip()
                archivo.grabar_lista("archivos_csv/passws.csv", usuarios)
                return render_template('cambio-contrasenia.html',
                                       form=form,
                                       msj="ok")
            else:
                return render_template('cambio-contrasenia.html',
                                       form=form,
                                       msj="mal")
        return render_template('cambio-contrasenia.html', form=form)
    flash('Debe estar logueado para acceder')
    return redirect(url_for('login'))
Exemple #7
0
def login():
    """Aqui se realiza el logueo del usuario, se valida si el usuario se encuentra registrado comparando los datos
     ingresados en la pagina con con los datos de usuarios registrados que contiene el archivo passws.csv, esta info es
     asignada  a la variable user2. Si el usuario ingresado es admin, se redigira a la pagina ventas, sino a la pagina
     usuario"""
    user2 = archivo.leer("archivos_csv/passws.csv")
    form2 = MyLogin()
    if form2.validate_on_submit():
        for l in user2:
            if l['usuario'] == form2.usu.data.strip():
                if l['login'] == form2.passw.data.strip():
                    session["nombre"] = form2.usu.data.strip()
                    return redirect(url_for('ventas'))
                else:
                    form2.passw.data = ""
                    # a traves de la variable msj, en html se informa que se verifique la contraseña
                    return render_template('login.html', form=form2, msj="ok")
        form2.passw.data = ""
        form2.usu.data = ""
        ##a traves de la variable msj, en html se informa usuario no encontrado
        return render_template("login.html", form=form2, msj="mal")
    return render_template("login.html", form=form2)
Exemple #8
0
def dibujarRelaciones(fila, tabla, grafo, nodo):
    listaArista = grafo.listaAristas(nodo)
    if tabla.columnCount() <= len(listaArista) * 2:
        tabla.setColumnCount(len(listaArista) * 2)
    cont = 0
    arch = archivo.abrir(Constantes.DirAristas)
    for arista in listaArista:
        relaciones = archivo.leer(arch, arista[1])  #leo la pos de la arista
        t = QtGui.QTableWidgetItem(relaciones.nombre.upper())
        t.setBackground(QtGui.QColor(59, 131, 189))
        t.setToolTip('Descripcion:<b>' + relaciones.descripcion +
                     '</b>. Duracion: ' + str(relaciones.duracion))
        tabla.setItem(fila, cont, t)
        tabla.setHorizontalHeaderItem(cont, QtGui.QTableWidgetItem('TAREA'))

        cont += 1
        t = QtGui.QTableWidgetItem('VERTICE: ' + str(arista[0]))
        tabla.setItem(fila, cont, t)
        tabla.setHorizontalHeaderItem(cont, QtGui.QTableWidgetItem('VERTICE'))

        cont += 1
    archivo.cerrar(arch)
Exemple #9
0
def mostrar():
    if session.get("nombre"):
        if request.method == 'POST':
            lista = []
            msg = ""
            msg2 = ""
            msg3 = ""
            listado = archivo.leer("baseDeDatos/archivo.csv")
            seleccion = request.form['selecc']
            for l in listado:
                if seleccion == l['CLIENTE']:
                    msg = "Listado de todos los productos que compro un Cliente"
                    msg2 = seleccion
                    msg3 = "cliente"
                    lista.append(l)
                elif seleccion == l['PRODUCTO']:
                    lista.append(l)
                    msg = "Listado de clientes que comparon un producto"
                    msg2 = seleccion
                    msg3 = "producto"
            return render_template('mostrar.html', lista=lista, ff=True, msg=msg, msg2=msg2, msg3=msg3)
        return render_template('mostrar.html')
    flash('Debe estar logueado para acceder')
    return redirect(url_for('login'))
Exemple #10
0
def ventas():
    if session.get("nombre"):
        clientes = archivo.leer("baseDeDatos/archivo.csv")
        return render_template('ventas.html', clientes = clientes, usuario = session.get('nombre'), ff = True)
    flash('Debe estar logueado para acceder')
    return redirect(url_for('login'))
Exemple #11
0
def user():
    if session.get("nombre"):
        users = archivo.leer("baseDeDatos/passws.csv")
        return render_template('users.html', users = users)
    flash('Debe estar logueado para acceder')
    return redirect(url_for('login'))