def category(category_name):
    """Returns the details of a category.

    :param category_name: Category name to use as a lookup.
    """
    category_item = catalog.get_category_by_name(category_name)
    items = catalog.get_items_by_category(category_item.id)
    return flask.render_template("category.html", category=category_item, items=items)
def category_delete(category_name):
    """Returns the page to delete the Category.

    :param category_name: Category name to use as a lookup.
    """
    form = category_forms.CategoryDeleteForm()
    category_object = catalog.get_category_by_name(category_name)
    if form.validate_on_submit():
        catalog.delete_category(category_object.id)
        return root({"success": "Category deleted successfully!"})
    return flask.render_template("category_delete.html", form=form, category=category_object)
def category_edit(category_name):
    """Returns the edit page for the category.

    :param category_name: Category name to use as a lookup.
    """
    form = category_forms.CategoryEditForm()
    category_object = catalog.get_category_by_name(category_name)
    if form.validate_on_submit():
        catalog.update_category(category_object.id, form.name.data, form.description.data)
        return root({"success": "Category updated successfully!"})
    form.name.data = category_object.name
    form.description.data = category_object.description
    return flask.render_template("category_edit.html", form=form, category=category_object)