Exemple #1
0
def new_product():
    error = None
    form = AddProductForm(request.form)
    if request.method == 'POST':
        if form.validate_on_submit():
            new_product = Product(
                form.donor_Id.data,
                form.product_Code.data,
                form.blood_Group.data,
                form.exp_Date.data,
                form.product_Vol.data,
                '1',
                session['user_id']
            )
            db.session.add(new_product)
            db.session.commit()
            flash('New entry was successfully posted. Thanks.')
            return redirect(url_for('products'))
        else:
            flash('All fields are required')
            return redirect(url_for('products'))
            return render_template(
                'products.html',
                form=form,
                error=error,
                open_products=open_products(),
                closed_products=closed_products
                 )
def add_product():
    form = AddProductForm()
    if form.validate_on_submit():
        new_product = Product(name = form.name.data,
                    description=form.description.data,
                    price=form.price.data,
                    category_id=form.category.data, stock=form.stock.data)
        db.session.add(new_product)
        db.session.commit()
        flash('You have successfully added a new product.')
        return redirect(url_for('admin.add_product'))
    return render_template('admin/add_product.html', form=form, title="Add Product")
Exemple #3
0
def addProduct():
    form = AddProductForm()
    makers = Maker.query.all()
    if makers:
        form.maker.choices = [(a.id, a.name) for a in makers]
    if form.validate_on_submit():

        product = Product()
        product.code = form.code.data
        product.maker_id = form.maker.data
        product.maker_code = form.maker_code.data
        product.desc_CS = form.desc_CS.data
        product.desc_JP = form.desc_JP.data

        product.long_desc = form.long_desc.data
        product.detailed_desc = form.detailed_desc.data
        product.subcategory_desc = form.subcategory_desc.data
        product.keywords = form.keywords.data

        product.price_unit = form.price_unit.data
        product.price_retail = form.price_retail.data
        product.qty_stock = form.qty_stock.data
        product.limited_flg = form.limited_flg.data
        product.axm_node = form.axm_node.data
        if form.package_size.data == '':
            product.package_size = None
        else:
            product.package_size = form.package_size.data
        category_id = Maker.query.filter_by(id=product.maker_id).first().category_id
        if category_id:
            product.category_id = category_id
        db.session.add(product)
        db.session.commit()

        term_ids_str = request.form.getlist('term')
        for id in term_ids_str:
            t = CatalogedProducts()
            t.product_id = product.id
            t.catalog_id = int(id)
            db.session.add(t)
        db.session.commit()

        flash(gettext("New product successfully added."))
        return redirect(url_for("editProduct", id=product.id))
    catalog = prepare_catalog()
    return render_template("product/addProduct.html",
                           title=gettext('Add new product'),
                           catalog=catalog,
                           form=form)
Exemple #4
0
def add_product(referrer):
    form = AddProductForm()
    search_bar = search()

    if form.validate_on_submit():
        user_id = form.user_id.data
        name = form.name.data.strip()
        asin = form.asin.data.strip()
        category_id = form.category_id.data
        default_photo = form.default_photo.data.strip()
        custom_photo = form.custom_photo.data

        new_product = model.Product(name=name,
                                    asin=asin,
                                    category_id=category_id,
                                    default_photo=default_photo,
                                    custom_photo=custom_photo)
        new_product_id = new_product.id

        if referrer == 'new':
            model.session.add(new_product)
            model.session.commit()

        add_to_lib = model.Library(user_id=user_id,
                                   product_id=new_product_id,
                                   product_desc=name,
                                   status=1)
        model.session.add(add_to_lib)
        model.session.commit()

        return jsonify(msg='Success')
    else:
        if referrer == 'new':
            return render_template("add_product.html",
                                   title="Add a Product",
                                   form=form,
                                   search=search_bar)
        else:
            return 'Fail'
def edit_product(id):
    products = Product.query.get(id)
    # if current_user.id != issue.user_id:
    #   abort(403)
    form = AddProductForm(obj=products)
    if form.validate_on_submit():
        products.name = form.name.data
        products.description = form.description.data
        products.category_id = form.category.data
        products.price = form.price.data
        products.stock = form.stock.data
        db.session.add(products)

        db.session.commit()

        return redirect(url_for('admin.view'))
    form.name.data = products.name
    form.description.data = products.description
    form.price.data = products.price
    form.category.data= products.category_id
    form.stock= products.stock
    #flash('You have successfully updated product.')
    return render_template('admin/edit_product.html', form=form, title="Edit Product")
Exemple #6
0
def welcome_admin():
    print(admin)
    product_list = []

    for i in Products.query.with_entities(
            Products.category,
            func.count(Products.category)).group_by(Products.category).all():
        product_list.append(list(i))

    form = AddProductForm()
    if form.validate_on_submit():
        product = Products(name=form.name.data,
                           description=form.description.data,
                           price=form.price.data,
                           category=form.category.data)
        db.session.add(product)
        db.session.commit()
        flash("added successfully")
        return redirect(url_for('view_products'))
    return render_template("welcome_admin.html",
                           form=form,
                           admin=admin,
                           product_list=product_list)
Exemple #7
0
def add_product(referrer):
    form = AddProductForm()
    search_bar = search()

    if form.validate_on_submit():
        user_id = form.user_id.data
        name = form.name.data.strip()
        asin = form.asin.data.strip()
        category_id = form.category_id.data
        default_photo = form.default_photo.data.strip()
        custom_photo = form.custom_photo.data

        
        new_product = model.Product(name = name, 
                                    asin = asin, 
                                    category_id=category_id, 
                                    default_photo = default_photo, 
                                    custom_photo=custom_photo)
        new_product_id = new_product.id

        if referrer == 'new':
            model.session.add(new_product)
            model.session.commit()

        add_to_lib = model.Library(user_id=user_id, 
                                product_id=new_product_id,
                                product_desc=name,
                                status=1)
        model.session.add(add_to_lib)
        model.session.commit()

        return jsonify(msg='Success')
    else:
        if referrer=='new':
            return render_template("add_product.html", title="Add a Product", form=form, search=search_bar)
        else:
            return 'Fail'
Exemple #8
0
def editProduct(id=0):
    # for stock: return to the same page
    stock_page = request.args.get('stock_page') if request.args.get('stock_page') else 1

    product = Product.query.filter_by(id=id).first()
    if product == None:
        flash(gettext('Product not found.'))
        return redirect(url_for('stock', page=stock_page))
    form = AddProductForm(obj=product)
    makers = Maker.query.all()
    if makers:
        form.maker.choices = [(a.id, a.name) for a in makers]
    #for existing code validation
    form.request = request

    if form.validate_on_submit():

        #delete product
        if 'delete' in request.form:
            product.active_flg = False
            db.session.add(product)
            db.session.commit()
            flash(gettext('Product has been deleted.'))
            return redirect(url_for("stock", page=stock_page))

        #update catalog terms
        new_ids_str = request.form.getlist('term')
        new_ids = []
        for id in new_ids_str:
            new_ids.append(int(id))
        old_ids = []
        for term in product.catalog_terms:
            old_ids.append(term.catalog_id)

        for id in old_ids:
            if id not in new_ids:
                t = CatalogedProducts.query\
                    .filter_by(catalog_id=id)\
                    .filter_by(product_id=product.id)\
                    .first()
                db.session.delete(t)
        for id in new_ids:
            if id not in old_ids:
                t = CatalogedProducts()
                t.product_id = product.id
                t.catalog_id = id
                db.session.add(t)
        db.session.commit()

        #update product
        product.code = form.code.data
        product.maker_id = form.maker.data
        product.maker_code = form.maker_code.data
        product.desc_CS = form.desc_CS.data
        product.desc_JP = form.desc_JP.data

        product.long_desc = form.long_desc.data
        product.detailed_desc = form.detailed_desc.data
        product.subcategory_desc = form.subcategory_desc.data
        product.keywords = form.keywords.data

        product.price_unit = form.price_unit.data
        product.price_retail = form.price_retail.data
        product.qty_stock = form.qty_stock.data
        product.limited_flg = form.limited_flg.data
        product.axm_node = form.axm_node.data
        if form.package_size.data == '':
            product.package_size = None
        else:
            product.package_size = form.package_size.data
        category_id = Maker.query.filter_by(id=product.maker_id).first().category_id
        if category_id:
            product.category_id = category_id
        db.session.add(product)
        db.session.commit()
        flash(gettext("Product successfully changed."))
        return redirect(url_for("stock", page=stock_page))
    selected_maker = product.maker_id
    imgUrls = getImgUrls(product.id)

    catalog = prepare_catalog()

    terms = product.catalog_terms
    terms.sort(key=lambda x: x.catalog.order)
    selected_catalog_terms = []
    for term in terms:
        if term.catalog.super_id == None:
            level = 0
        else:
            level = 1
        selected_catalog_terms.append([term.catalog.id, level, unicode(term.catalog.name_CS)])

    return render_template('product/editProduct.html',
                           title=gettext("Edit Product"),
                           product=product,
                           catalog=catalog,
                           imgUrls=imgUrls,
                           selected_maker=selected_maker,
                           selected_catalog_terms=selected_catalog_terms,
                           stock_page=stock_page,
                           form=form)