Exemplo n.º 1
0
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')
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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')