Esempio n. 1
0
def items_create():
    form = ItemForm(request.form)
    form2 = CategoryForm(request.form)

    if not form.validate():
        return render_template("items/new.html", form=form)

    name = form.name.data
    it = Item.query.filter_by(name=name).first()
    if it:
        return render_template("items/new.html",
                               form=form,
                               error="Item is already listed!")
    i = Item(name)

    cid = form.category_id.data
    c = Category.query.get(cid)
    if not c:
        return render_template("categories_index")
    c.size = c.size + 1
    i.category_id = cid

    i.bought = form.bought.data
    i.account_id = current_user.id

    db.session().add(i)
    db.session().commit()

    return redirect(url_for("items_index"))
Esempio n. 2
0
def items_create():
    form = ItemForm(request.form)
    if not form.validate():
        return render_template("items/new.html", form=form)
    item = Item(form.name.data, form.price.data, form.threshold.data)
    db.session.add(item)
    db.session.commit()
    return redirect(url_for("items_index"))
Esempio n. 3
0
def items_edit(item_id):
    form = ItemForm(request.form)
    item = Item.query.get(item_id)
    form.item_id = item.id
    if not form.validate():
        return render_template("items/edit.html", form=form, item=item)
    item.name = form.name.data
    item.price = form.price.data
    item.threshold = form.threshold.data
    db.session().commit()
    return redirect(url_for("items_index"))
Esempio n. 4
0
def items_create():
    form = ItemForm(request.form)

    if not form.validate():
        return render_template("items/new.html", form=form)

    i = Item(form.name.data)
    i.vegan = form.vegan.data
    i.account_id = current_user.id

    db.session().add(i)
    db.session().commit()

    return redirect(url_for("items_index"))
Esempio n. 5
0
def items_create():
    form = ItemForm(request.form)

    if not form.validate():
        return render_template("items/new.html", form=form, warehouse_error="")

    item = Item.query.filter_by(name=form.name.data).first()

    if not item:
        item = Item(form.name.data, form.volume.data)
        db.session().add(item)
        db.session().commit()

    warehouse = Warehouse.query.filter_by(name=form.warehouse.data).first()

    if not warehouse:
        return render_template("items/new.html", form=form, warehouse_error="No such warehouse.")

    comp = Warehouse_item.query.filter_by(item_id=item.id, warehouse_id=warehouse.id).first()

    # check if item exists in warehouse

    if comp:

        new_amount = form.amount.data + comp.amount
        new_volume = new_amount * item.volume

        if not warehouse.fits(warehouse.id, new_volume):
            return render_template("items/new.html", form=form, warehouse_error="No room in warehouse.")
        elif (comp.amount + form.amount.data) < 0:
            return render_template("items/new.html", form=form, warehouse_error="Total amount can't be negative")
        
        comp.amount = new_amount

    else:

        new_amount = form.amount.data
        new_volume = new_amount * item.volume

        if not warehouse.fits(warehouse.id, new_volume):
            return render_template("items/new.html", form=form, warehouse_error="No room in warehouse.")
        
        relation = Warehouse_item(warehouse, item, new_amount)
        db.session().add(relation)
    
    db.session().commit()
    return redirect(url_for("warehouse_single", warehouse_id=warehouse.id))
Esempio n. 6
0
def items_create():
    form = ItemForm(request.form)
    list = Category.query.all()

    if not form.validate():
        return render_template("items/new.html", form = form, categories = list)

    i = Item(form.name.data, form.amount.data)
    i.bought = form.bought.data
    i.account_id = current_user.id
    i.category_id = form.category.data
    i.list_id = List.find_users_defaultlist_id(current_user.id)

    db.session().add(i)
    db.session().commit()

    return redirect(url_for("items_index"))
Esempio n. 7
0
def items_create():
    form = ItemForm(request.form)

    if not form.validate():
        return render_template('items/new.html', form = form)

    new_item = Item(form.name.data, 
                    form.description.data,
                    form.price.data)
    
    new_item.account_id = current_user.id
    gameName = form.gameName.data

    db.session().add(new_item)
    add_gameName_to_item(new_item, gameName)

    db.session().commit()
  
    return redirect(url_for('item_add_games', item_id = new_item.id))
Esempio n. 8
0
def cc_ptype_form(): 
   
    form = ItemForm(request.form)
    
    if not form.validate():
        return render_template("dbnew.html", formItem = form, formCc = CcForm(), formPtype = PtypeForm())
    
    cc = Colorcode.query.filter(Colorcode.code == form.colorcode.data.code).first()
    ptype = Ptype.query.filter(Ptype.name == form.ptype.data.name).first()

    duplicate = Cc_ptype.query.filter(Cc_ptype.colorcode_id == cc.id, Cc_ptype.ptype_id == ptype.id).first()
    if duplicate:
        return render_template("dbnew.html", formItem = ItemForm(), formCc = CcForm(), formPtype = PtypeForm(), errorItem = "Product already in database.")

    ccptype = Cc_ptype(cc.id, ptype.id)
    db.session.add(ccptype)
    
    db.session().commit()
    return redirect(url_for("cc_ptype_index"))
Esempio n. 9
0
def items_create():

    form = ItemForm(request.form)
    form.item_category.choices = [
        (c.id, c.name) for c in Category.query.order_by('name').filter_by(
            account_id=current_user.id)
    ]

    if not form.validate():
        return render_template("items/new.html", form=form)

    i = Item(form.name.data, form.expired.data)
    category = Category.query.get(form.item_category.data)
    i.account_id = current_user.id
    i.category_id = category.id

    db.session().add(i)
    db.session().commit()

    return redirect(url_for("items_index"))
Esempio n. 10
0
def item_update(item_id):
    item = Item.query.get(item_id)
    
    form = ItemForm(request.form)
    form.id.data = item_id
    # Form validation
    if not form.validate():
        return render_template("items/modify.html", form = form)

    # Update item in db
    item.name = form.name.data
    item.brand = form.brand.data
    item.category = form.category.data
    item.weight = form.weight.data
    item.volume = form.volume.data
    item.description = form.description.data
    
    db.session().commit()

    return redirect(url_for("items_index"))
Esempio n. 11
0
def item_edit(item_id):  
    edited_item = Item.query.get(item_id)
    edit_form = ItemForm()

    if request.method == 'GET': 
        edit_defaults(edited_item, edit_form)

        

    else:
        edit_form = ItemForm(request.form)

        if not edit_form.validate():
            return edit_template(edited_item, edit_form)
        
        edited_item.name = edit_form.name.data
        edited_item.price = edit_form.price.data
        edited_item.description = edit_form.description.data

    # Return to the same edit page in both methods
    return edit_template(edited_item, edit_form)
Esempio n. 12
0
def items_create():
    form = ItemForm(request.form)
    if not form.validate():
        return render_template("items/list.html", 
        items = UserItem.list_users_items(),
        form = form)

    ui = UserItem(form.name.data, form.best_before.data)
    ui.account_id = current_user.id
    try:
        ui.item_id = Item.get_matching_item(form.name.data).get("id")
    except:
        i = Item(Item.name_to_lexeme(form.name.data))
        db.session().add(i)
        db.session().commit()
        ui.item_id = Item.get_matching_item(form.name.data).get("id")
    
    db.session().add(ui)
    db.session().commit()

    return redirect(url_for("items_index"))
Esempio n. 13
0
def item_form():

    form = ItemForm(request.form)

    if request.method == "GET":
        return render_template("items/new.html", form=form)

    if not form.validate():
        return render_template("items/new.html", form=form)

    cc = Colorcode.query.filter(
        Colorcode.code == form.colorcode.data.code).first()
    ptype = Ptype.query.filter(Ptype.name == form.ptype.data.name).first()

    validProduct = Cc_ptype.query.filter(
        Cc_ptype.colorcode_id == cc.id, Cc_ptype.ptype_id == ptype.id).first()
    if not validProduct:
        return render_template("items/new.html",
                               form=form,
                               error="Product does not exist.")

    duplicate = Item.query.filter(Item.colorcode_id == cc.id,
                                  Item.ptype_id == ptype.id,
                                  Item.account_id == current_user.id).first()

    if duplicate:
        return render_template("items/new.html",
                               form=form,
                               error="Product already in collection.")

    item = Item()
    item.colorcode_id = cc.id
    item.ptype_id = ptype.id
    item.account_id = current_user.id

    db.session.add(item)
    db.session().commit()

    return redirect(url_for("index"))
Esempio n. 14
0
def item_create():
    # New item form
    if request.method=="GET":
        return render_template("items/new.html", form = ItemForm())

    # Form validation
    form = ItemForm(request.form)
    if not form.validate():
        return render_template("items/new.html", form = form)

    # Adding new item to db
    item = Item(form.name.data)
    item.brand = form.brand.data
    item.category = form.category.data
    item.weight = form.weight.data
    item.volume = form.volume.data
    item.description = form.description.data
    item.user_id = current_user.id

    db.session().add(item)
    db.session().commit()

    return redirect(url_for("items_index"))