from flask import Blueprint from flask import render_template, session, flash, request 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('/') def category(category: str): database = ProductController() # Check to see if there is a custome search term search_term = request.args.get("search", type=str) if search_term != None: print(f"Search Term {search_term}") products = database.read_all(category, search_term) else: products = database.read_all(category) # No Products visible if products == None: flash(f"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('/') def id(id: int): return "ID: " + str(id)