Esempio n. 1
0
def prodClientes():
    if 'username' in session:
        formulario = ClienteForm()
        if formulario.validate_on_submit():
            cliente = formulario.cliente.data.upper()
            if len(cliente) < 3:
                flash(
                    'Debe ingresar al menos 3 caracteres para realizar la búsqueda.'
                )
                return render_template('prodClientes.html', form=formulario)
            else:
                listaClientes = buscarClientes(
                    registrosventas, cliente
                )  #llama a funcion para validar si existen los clientes
                if len(listaClientes) == 0:
                    flash('No existen clientes con el nombre ingresado')
                elif len(listaClientes) == 1:
                    listaProductos = listadoProClientes(
                        registrosventas, cliente)
                    return render_template(
                        'prodClientes.html',
                        form=formulario,
                        listaProductos=listaProductos,
                        cliente=formulario.cliente.data.upper())
                else:
                    flash(
                        'Se encontró mas de un cliente, por favor seleccione el que desea consultar.'
                    )
                    return render_template('prodClientes.html',
                                           form=formulario,
                                           clientes=listaClientes)
        return render_template('prodClientes.html', form=formulario)
    else:
        flash('Para poder ingresar debe estar logueado.')
        return redirect(url_for('ingresar'))
Esempio n. 2
0
def listadodeclientes(cliente, largo):
    if 'username' in session:
        dicindices = indices()
        lista = listadodeclientesamostrar(largo, cliente)
        formulario = ClienteForm()
        if formulario.validate_on_submit():
            cliente = formulario.cliente.data
            with open('registros.csv') as archivo:
                archivo_csv = csv.reader(archivo)
                registro = next(archivo_csv)
                listadeproductos = []
                registro = next(archivo_csv)
                while registro:
                    if cliente == registro[dicindices['indice_cliente']]:
                        listadeproductos.append(registro)
                    registro = next(archivo_csv, None)
            return render_template('listadeproductos.html',
                                   form=formulario,
                                   lista=listadeproductos,
                                   cliente=cliente,
                                   indices=dicindices)
        return render_template('listarproductosconopciones.html',
                               form=formulario,
                               lista=lista)
    else:
        return render_template('sin_permiso.html')
Esempio n. 3
0
def prod_clientes2(clientes):
    if 'username' in session:
        formulario = ClienteForm()
#        registros = class_csv.classificar(nombre_de_archivo)
        if formulario.validate_on_submit():
            cliente = formulario.cliente.data.upper()
            if len(cliente) < 3:
                flash('Debe Ingresar por lo menos 3 Caracteres a Buscar')
                return redirect(url_for('prod_clientes'))
            else:
                val = func_listar.encontrar_clientes(registros,cliente)
                if len(val) == 0:
                    flash('No se Encontraron resultados Para su Busqueda')
                    return redirect(url_for('prod_clientes'))
                elif len(val) == 1:
                    listar = func_listar.listar_productos_cliente(registros,cliente)
                    return render_template('prod_clientes.html', form = formulario, listar = listar, cliente= formulario.cliente.data.upper())
                else:
                    flash('Se Encontraron Varios Clientes, Por Favor Seleccione el que Desea Listar')
                    return render_template('prod_clientes.html', form = formulario, clientes = val)
        else:
            cliente = clientes
            val = func_listar.encontrar_clientes(registros,cliente)
            listar = func_listar.listar_productos_cliente(registros,cliente)
            return render_template('prod_clientes.html', form = formulario, listar = listar, cliente= cliente)
    else:
        flash('Para Acceder debe Loguearse')
        return redirect(url_for('ingresar'))
Esempio n. 4
0
def formBusquedaCliente():
    formulario = ClienteForm()
    datosDeVentas = consultas.AskTable()
    if len(datosDeVentas) == 1:
        return render_template('errores.html', lista=datosDeVentas)
    posicionDePrecio = consultas.dataPosition('PRECIO')
    posicionDeCodigo = consultas.dataPosition('CODIGO')
    posicionDeCantidad = consultas.dataPosition('CANTIDAD')
    posicionDeCliente = consultas.dataPosition('CLIENTE')
    validaciones = consultas.validation(datosDeVentas)
    if len(validaciones):
        return render_template('errores.html', lista=validaciones)
    if formulario.validate_on_submit():
        datoIngresado = formulario.cliente.data
        cliente = datoIngresado.upper()
        dataPosition = consultas.dataPosition('CLIENTE')
        listaDeClientes = consultas.tableFullData(cliente, datosDeVentas,
                                                  dataPosition)
        return render_template('formulario_buscar_cliente.html',
                               form=formulario,
                               buscarCliente=cliente,
                               lista=listaDeClientes)
        if len(listaDeClientes) == 0:
            listaDeClientes = None
        else:
            return redirect(url_for('tablaProductoPorCliente',
                                    cliente=cliente))
    return render_template('formulario_buscar_cliente.html', form=formulario)
Esempio n. 5
0
def prod_clientes2(clientes):
    if 'username' in session:
        formulario = ClienteForm()
        if formulario.validate_on_submit():
            cliente = formulario.cliente.data.upper()
            if len(cliente) < 3:
                flash('Debe Ingresar por lo menos tres caracteres a buscar')
                return redirect(url_for('prod_clientes'))
            else:
                val = archivocsv.encontrar_clientes(registros,cliente)
                if len(val) == 0:
                    flash('No hemos encontrado resultados para su busqueda')
                    return redirect(url_for('prod_clientes'))                   
                elif len(val) == 1:
                    listar = archivocsv.productos_por_cliente(registros,cliente)
                    return render_template('prod_clientes.html', form = formulario, listar = listar, cliente= formulario.cliente.data.upper())
                else:
                    flash('Hemos encontrado varios clientes. Por favor seleccione el que desee:')
                    return render_template('prod_clientes.html', form = formulario, clientes = val)
        else:
            cliente = clientes
            val = archivocsv.encontrar_clientes(registros,cliente)
            listar = archivocsv.productos_por_cliente(registros,cliente)
            return render_template('prod_clientes.html', form = formulario, listar = listar, cliente=cliente)
    else:
        flash('Para Acceder debe loguearse, ingrese sus credenciales por favor.')
        return redirect(url_for('ingresar'))
Esempio n. 6
0
def cliente():
    if 'username' in session:
        form_nombre = ClienteForm()
        try:
            with open('datos.csv') as archivo:
                pass
        except FileNotFoundError:
            return 'No se encuentra el csv'

        if form_nombre.validate_on_submit():
            with open('datos.csv') as archivo:
                try:
                    filecsv = csv.reader(archivo)
                    infos = []

                    for linea in filecsv:
                        ubicacion = linea
                        codigo = ubicacion[0]
                        cliente = ubicacion[1]
                        # El Array tupla, tiene los titulos del encabezado
                        if "CODIGO" == codigo:
                            tupla = [
                                ubicacion[0], ubicacion[1], ubicacion[2],
                                ubicacion[3], ubicacion[4]
                            ]
                        if form_nombre.parametro.data.lower() in cliente.lower(
                        ):
                            info = [
                                ubicacion[0], ubicacion[1], ubicacion[2],
                                ubicacion[3], ubicacion[4]
                            ]
                            infos.append(info)
                    #Este if se puso para informar que no se encuentran resultados.
                    if len(infos) == 0:
                        flash(
                            'El cliente que busca no se encuentra en nuestra Base de Datos.'
                        )
                        return render_template(
                            'cliente.html',
                            form=form_nombre,
                            username=session.get('username'))
                    return render_template('tabla.html',
                                           form=form_nombre,
                                           cabeza=tupla,
                                           cuerpo=infos,
                                           username=session.get('username'))
                except IndexError:
                    return 'Numero invalido de datos a corroborar.'
        #Se retorna el tabla.html para conformar la respuesta visual.
        return render_template('cliente.html',
                               form=form_nombre,
                               username=session.get('username'))
    flash('Debe estar logueado para acceder')
    return redirect(url_for('ingresar'))
Esempio n. 7
0
def listarproductos():
    if 'username' in session:
        formulario = ClienteForm()
        if formulario.validate_on_submit():
            cliente = formulario.cliente.data
            largocliente = len(cliente)
            if largocliente >= 3:
                return redirect(
                    url_for('listadodeclientes',
                            cliente=cliente,
                            largo=largocliente))
            else:
                return render_template('listarproductos.html', form=formulario)

        return render_template('listarproductos.html', form=formulario)
    else:
        return render_template('sin_permiso.html')
Esempio n. 8
0
def agregarCliente():
    if "username" in session:
        formulario = ClienteForm()
        if formulario.validate_on_submit(
        ):  #si hago post , si envio los datos me los guarda
            with open("clientes.csv", "a+", newline='',
                      encoding="utf8") as archivo:
                archivo_csv = csv.writer(archivo)
                registro = [
                    formulario.nombre.data, formulario.edad.data,
                    formulario.direccion.data, formulario.pais.data,
                    formulario.documento.data, formulario.fecha_alta.data,
                    formulario.email.data, formulario.trabajo.data
                ]
                archivo_csv.writerow(registro)
                flash('Cliente registrado correctamente')
                return redirect(url_for("agregarCliente"))
        return render_template("agregar_cliente.html", formulario=formulario)
    return redirect(url_for("ingresar"))
Esempio n. 9
0
def formBusquedaCliente():
    formulario = ClienteForm()
    datosDeVentas = funciones.lecturaDeVentas()
    if len(datosDeVentas) == 1:
        return render_template('errores/errores.html', lista=datosDeVentas)

    posicionDeCliente = funciones.posicionDelDato('CLIENTE')
    posicionDePrecio = funciones.posicionDelDato('PRECIO')
    posicionDeCantidad = funciones.posicionDelDato('CANTIDAD')
    posicionDeCodigo = funciones.posicionDelDato('CODIGO')
    validaciones = funciones.validaciones(datosDeVentas, posicionDePrecio,
                                          posicionDeCantidad, posicionDeCodigo)

    if len(validaciones):
        return render_template('errores/errores.html', lista=validaciones)

    if formulario.validate_on_submit():
        datoIngresado = formulario.cliente.data

        cliente = datoIngresado.upper()
        posicionDelDato = funciones.posicionDelDato('CLIENTE')

        listaDeClientes = funciones.buscarDatoEspecifico(
            cliente, datosDeVentas, posicionDelDato)
        return render_template(
            'productos-por-cliente/formulario_buscar_cliente.html',
            form=formulario,
            buscarCliente=cliente,
            lista=listaDeClientes)
        if len(listaDeClientes) == 0:
            listaDeClientes = None
        else:
            return redirect(url_for('tablaProductoPorCliente',
                                    cliente=cliente))
    return render_template(
        'productos-por-cliente/formulario_buscar_cliente.html',
        form=formulario)