def create(): if request.method == 'POST': cedula = request.form['cedula'] nombre = request.form['nombre'] direccion = request.form['direccion'] telefono = request.form['telefono'] foto = request.files['foto'].read() size = len(foto) error = None if not cedula: error = 'Debe ingresar la cédula.' elif not nombre: error = 'Debe ingresar el nombre.' elif not direccion: error = 'Debe ingresar la dirección.' elif not telefono: error = 'Debe ingresar el teléfono.' elif size <= 0: error = 'Debe seleccionar una foto.' # client validation clientRegistered = Client.query.filter_by(cedula=cedula).first() if clientRegistered is not None: error = 'El cliente {} ya se encuentra registrado.'.format(cedula) if error is not None: flash(error) else: newClient = Client(cedula, nombre, direccion, telefono, foto) db_session.add(newClient) db_session.commit() return redirect(url_for('client.index')) return render_template('client/create.html')
def update(id): client = Client.query.filter_by(id=id).first() if request.method == 'POST': cedula = request.form['cedula'] nombre = request.form['nombre'] direccion = request.form['direccion'] telefono = request.form['telefono'] foto = request.files['foto'].read() size = len(foto) error = None if not cedula: error = 'Debe ingresar la cédula.' elif not nombre: error = 'Debe ingresar el nombre.' elif not direccion: error = 'Debe ingresar la dirección.' elif not telefono: error = 'Debe ingresar el teléfono.' if error is not None: flash(error) else: client.cedula = cedula client.nombre = nombre client.direccion = direccion client.telefono = telefono if size > 0: client.foto = foto db_session.commit() return redirect(url_for('client.index')) return render_template('client/update.html', client=client)
def addproduct(id): products = Product.query.all() if request.method == 'POST': producto_id = request.form['producto_id'] cantidad = request.form['cantidad'] error = None if not producto_id: error = 'Debe seleccionar un producto' elif not cantidad: error = 'Debe ingresar una cantidad' elif int(cantidad) < 0: error = 'Debe ingresar un valor mayor a cero' product = Product.query.filter_by(id=producto_id).first() if product.cantidad_en_bodega < int(cantidad): error = 'La cantidad requerida del producto no se encuentra en bodega' if error is not None: flash(error) else: billdetail = BillDetail(id, producto_id, product.precio, cantidad) db_session.add(billdetail) product.cantidad_en_bodega = product.cantidad_en_bodega - int( cantidad) db_session.commit() return redirect(url_for('bill.detail', id=id)) return render_template('bill/addproduct.html', products=products, bill_id=id)
def delete(id): billdetails = BillDetail.query.filter_by(factura_id=id) for billdetail in billdetails: product = Product.query.filter_by(id=billdetail.producto_id).first() product.cantidad_en_bodega = product.cantidad_en_bodega + billdetail.cantidad db_session.commit() bill = BillHeader.query.filter_by(id=id).first() BillDetail.query.filter_by(factura_id=id).delete() db_session.delete(bill) db_session.commit() bills = BillHeader.query.all() return render_template('bill/index.html', bills=bills)
def deletedetail(id): billdetail = BillDetail.query.filter_by(id=id).first() product = Product.query.filter_by(id=billdetail.producto_id).first() product.cantidad_en_bodega = product.cantidad_en_bodega + billdetail.cantidad bill = BillHeader.query.filter_by(id=billdetail.factura_id).first() db_session.delete(billdetail) db_session.commit() billdetails = BillDetail.query.filter_by(factura_id=bill.id).all() return render_template('bill/detail.html', bill=bill, billdetails=billdetails)
def create(): categories = Category.query.all() if request.method == 'POST': codigo = request.form['codigo'] categoria_id = request.form['categoria_id'] nombre = request.form['nombre'] precio = request.form['precio'] cantidad_en_bodega = request.form['cantidad_en_bodega'] if request.form['estado'] == "True": estado = True else: estado = False error = None if not codigo: error = 'Debe ingresar el código del producto.' elif not categoria_id: error = 'Debe seleccionar la categoría del producto.' elif not nombre: error = 'Debe ingresar el nombre.' elif not precio: error = 'Debe ingresar el precio.' elif not cantidad_en_bodega: error = 'Debe seleccionar la cantidad disponible en bodega.' elif not estado: error = 'Debe seleccionar un estado.' # client validation productRegistered = Product.query.filter_by(codigo=codigo).first() if productRegistered is not None: error = 'El producto {} ya se encuentra registrado.'.format(codigo) if error is not None: flash(error) else: newProduct = Product(codigo, categoria_id, nombre, precio, cantidad_en_bodega, estado) db_session.add(newProduct) db_session.commit() return redirect(url_for('product.index')) return render_template('product/create.html', categories=categories)
def update(id): product = Product.query.filter_by(id=id).first() categories = Category.query.all() if request.method == 'POST': codigo = request.form['codigo'] categoria_id = request.form['categoria_id'] nombre = request.form['nombre'] precio = request.form['precio'] cantidad_en_bodega = request.form['cantidad_en_bodega'] if request.form['estado'] == "True": estado = True else: estado = False error = None if not codigo: error = 'Debe ingresar el código del producto.' elif not categoria_id: error = 'Debe seleccionar la categoría del producto.' elif not nombre: error = 'Debe ingresar el nombre.' elif not precio: error = 'Debe ingresar el precio.' elif not cantidad_en_bodega: error = 'Debe seleccionar la cantidad disponible en bodega.' elif not estado: error = 'Debe seleccionar un estado.' if error is not None: flash(error) else: product.codigo = codigo product.categoria_id = categoria_id product.nombre = nombre product.precio = precio product.cantidad_en_bodega = cantidad_en_bodega db_session.commit() return redirect(url_for('product.index')) return render_template('product/update.html', product=product, categories=Category.query.all())
def create(): clients = Client.query.all() paymentmethods = PaymentMethod.query.all() if request.method == 'POST': codigo = request.form['codigo'] cliente_id = request.form['cliente_id'] array_fecha_compra = request.form['fecha_compra'].split('-') fecha_compra = datetime.datetime(int(array_fecha_compra[0]), int(array_fecha_compra[1]), int(array_fecha_compra[2])) metodo_pago_id = request.form['metodo_pago_id'] error = None if not codigo: error = 'Debe ingresar el código de la factura.' elif not cliente_id: error = 'Debe seleccionar un cliente.' elif not fecha_compra: error = 'Debe ingresar la fecha de compra.' elif not metodo_pago_id: error = 'Debe seleccionar un metodo de pago.' # client validation billRegistered = BillHeader.query.filter_by(codigo=codigo).first() if billRegistered is not None: error = 'La Factura {} ya se encuentra registrada.'.format(codigo) if error is not None: flash(error) else: newBill = BillHeader(codigo, cliente_id, fecha_compra, metodo_pago_id) db_session.add(newBill) db_session.commit() return redirect(url_for('bill.index')) return render_template('bill/create.html', paymentmethods=paymentmethods, clients=clients)
def update(id): bill = BillHeader.query.filter_by(id=id).first() clients = Client.query.all() paymentmethods = PaymentMethod.query.all() if request.method == 'POST': codigo = request.form['codigo'] cliente_id = request.form['cliente_id'] array_fecha_compra = request.form['fecha_compra'].split('-') fecha_compra = datetime.datetime(int(array_fecha_compra[0]), int(array_fecha_compra[1]), int(array_fecha_compra[2])) metodo_pago_id = request.form['metodo_pago_id'] error = None if not codigo: error = 'Debe ingresar el código de la factura.' elif not cliente_id: error = 'Debe seleccionar un cliente.' elif not fecha_compra: error = 'Debe ingresar la fecha de compra.' elif not metodo_pago_id: error = 'Debe seleccionar un metodo de pago.' if error is not None: flash(error) else: bill.codigo = codigo bill.cliente_id = cliente_id bill.fecha_compra = fecha_compra bill.metodo_pago_id = metodo_pago_id db_session.commit() return redirect(url_for('bill.index')) return render_template('bill/update.html', bill=bill, clients=clients, paymentmethods=paymentmethods)
def register(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] error = None if not username: error = 'El nombre de usuario es requerido.' elif not password: error = 'La Contraseña es requerida.' else: userRegistered = User.query.filter_by(username=username).first() if userRegistered is not None: error = '{} ya se encuentra registrado.'.format(username) if error is None: newUser = User(username, generate_password_hash(password)) db_session.add(newUser) db_session.commit() return redirect(url_for('auth.login')) flash(error) return render_template('auth/register.html')
def delete(id): product = Product.query.filter_by(id=id).first() product.estado = False db_session.commit() return redirect(url_for('product.index'))
def delete(id): client = Client.query.filter_by(id=id).first() db_session.delete(client) db_session.commit() return redirect(url_for('client.index'))