WMGZON/controllers/web/product.py

47 lines
1.4 KiB
Python
Raw Normal View History

from flask import Blueprint
from flask import render_template, session, flash
from controllers.database.product import ProductController
from controllers.database.category import CategoryController
blueprint = Blueprint("products", __name__, url_prefix="/products")
# Global context to enable the categories to be accessed
# from any view
@blueprint.context_processor
def category_list():
database = CategoryController()
categories = database.read_all()
return dict(categories=categories)
# Loads the front product page
@blueprint.route('/')
def index():
database = ProductController()
products = database.read_all()
# No Products visible
if products == None:
flash("No Products available")
return render_template('index.html', content="content.html", user = session.get('user'), products = products)
# Loads a given product category page
@blueprint.route('/<string:category>')
def category(category: str):
print(category)
database = ProductController()
products = database.read_all(category)
# No Products visible
if products == None:
flash("No Products available in " + category)
return render_template('index.html', content="content.html", user = session.get('user'), products = products, category = category)
# Loads a given product based on ID
@blueprint.route('/<int:id>')
def id(id: int):
return "ID: " + str(id)