def add_category(): """ CREATE - Add new category from request form into Database """ name = request.form['name'] owner = user_info()['id'] new_category = Category(name, owner) session.add(new_category) session.commit()
def update_category(category_name): """ UPDATE - updating category from request form into Database """ name = request.form['name'] category_to_update = session.query(Category).filter_by( name=category_name).one() category_to_update.name = name session.add(category_to_update) session.commit()
def add_item(category_name): """ CREATE - Add new item from request form into Database """ category_idd = get_category(category_name) name = request.form['name'] owner = user_info()['id'] description = request.form['description'] new_item = Item(name, description, owner) new_item.category_id = category_idd.id session.add(new_item) session.commit()
def update_item(item_id): """ UPDATE - updating item from request form into Database using id because user may change the name and description of the item from the form """ name = request.form['name'] description = request.form['description'] item_to_update = session.query(Item).filter_by(id=item_id).one() item_to_update.name = name item_to_update.description = description session.add(item_to_update) session.commit()
def delete_category(category_name): """ DELETE - Delete category from database by name """ # Remove all the Items under this category first target_category = session.query(Category).filter_by( name=category_name).one() items_in_category_to_delete = session.query(Item).filter_by( category_id=target_category.id).all() for i in items_in_category_to_delete: delete_item(i.name) category_to_delete = session.query(Category).filter_by( name=category_name).delete() session.commit()
def delete_item(item_name): """ DELETE - Delete item from database by name """ session.query(Item).filter_by(name=item_name).delete() session.commit()