コード例 #1
0
ファイル: category.py プロジェクト: wleddy/inventory
def edit(id=None):
    setExits()
    g.title = "Edit {} Record".format(g.title)

    category = Category(g.db)

    if request.form:
        id = request.form.get('id', None)
    id = cleanRecordID(id)

    if id >= 0 and not request.form:
        if id == 0:
            rec = category.new()
        else:
            rec = category.get(id)

        if rec:
            return render_template('category_edit.html', rec=rec)
        else:
            flash('Record not Found')

    if request.form:
        if not validate_form():
            return render_template('category_edit.html', rec=request.form)

        if id == 0:
            rec = category.new()
        else:
            rec = category.get(id)
        if rec:
            category.update(rec, request.form)
            category.save(rec)
            try:
                g.db.commit()
            except Exception as e:
                g.db.rollback()
                flash(
                    printException('Error attempting to save Category record',
                                   str(e)))
                return redirect(g.listURL)
        else:
            flash('Record not Found')

    return redirect(g.listURL)
コード例 #2
0
def import_data(filespec):
    db = Database('instance/database.sqlite').connect()
    category = Category(db)
    uom = Uom(db)
    item = Item(db)
    trx = Transaction(db)

    with open(filespec, newline='') as csvfile:
        reader = csv.DictReader(csvfile)
        for row in reader:
            print('Name: {}, Category: {}'.format(row['item_name'],
                                                  row['category_name']))
            #import pdb;pdb.set_trace()
            #create a Category if not exists
            cats = category.select_one(
                where='name = "{}"'.format(row['category_name']))
            if not cats:
                cats = category.new()
                cats.name = row["category_name"]
                category.save(cats)
            cat_id = cats.id
            #create UOM if not exists
            uom_name = row['uom'].strip()
            if uom_name == '':
                uom_name = "Ea."

            uoms = uom.select_one(where='name = "{}"'.format(uom_name))
            if not uoms:
                uoms = uom.new()
                uoms.name = uom_name
                uom.save(uoms)

            items = item.select_one(
                where='name = "{}"'.format(row['item_name'], ))
            if not items:
                items = item.new()
                items.name = row['item_name']
                items.uom = uom_name
                items.cat_id = cat_id
                item.save(items)

            # Create a transaction record
            trxs = trx.new()
            trx.update(trxs, row)
            trxs.created = datetime.strptime(row['created'], '%Y-%m-%d')
            trxs.item_id = items.id
            trx.save(trxs)

        try:
            db.commit()
        except Exception as e:
            db.rollback()
            print(str(e))