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'))
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')
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'))
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)
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'))
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'))
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')
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"))
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)