Esempio n. 1
0
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('/')
Esempio n. 3
0
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)