def delete_category(category_id): # Fetch the category to be deleted from the DB category = Category.by_id(id=category_id) # Handle POST request if request.method == 'POST': # if the user is logged in and is the creator, proceed if is_logged_in() and is_creator(category.user_id): # delete all items in the category items_in_category = Item.by_category_id(category_id=category_id) for item in items_in_category: Item.delete(item) # delete the category Category.delete(category) # redirect after deletion flash("Category %s deleted successfully" % category.name) return redirect(url_for('home_page')) # Handle GET request else: # If user is logged in and is the creator, render the delete confirmation page if is_logged_in() and is_creator(category.user_id): return render_template('delete_category.html', category=category) # if user is not logged in or not the creator, redirect to the error page else: return redirect(url_for('error'))
def categoryDelete(category_id): """Delete the category, per the users input. Arg: category_id: category to be deleted Result: redirects user to full category list, showing them category is deleted. """ items = Item.by_category_id(category_id) for item in items: session.delete(item) session.commit() category = Category.by_id(category_id) session.delete(category) session.commit() return redirect('/')
def category(category_id): category = Category.by_id(category_id) items = Item.by_category_id(category_id) return render_template('category.html', category=category, items=items)