diff --git a/app.py b/app.py index ce5e75b..1edbc3c 100644 --- a/app.py +++ b/app.py @@ -15,7 +15,6 @@ def main(): if secret_key == None: # NO Secret Key set! print("No app secret set, please set one before deploying in production") - print("This is a test") app.secret_key = "DEFAULTKEY" else: app.secret_key = secret_key diff --git a/controllers/web/endpoints.py b/controllers/web/endpoints.py index 838915a..4171df3 100644 --- a/controllers/web/endpoints.py +++ b/controllers/web/endpoints.py @@ -24,7 +24,6 @@ def get_user() -> dict[User|None]: if user_id != None: db = UserController() user = db.read_id(user_id) - print(user) return dict(user=user) diff --git a/controllers/web/product.py b/controllers/web/product.py index d14d835..9e872bb 100644 --- a/controllers/web/product.py +++ b/controllers/web/product.py @@ -1,8 +1,9 @@ from flask import Blueprint -from flask import render_template, session, flash, request +from flask import render_template, session, flash, request, redirect from controllers.database.product import ProductController from controllers.database.category import CategoryController +from controllers.database.user import UserController blueprint = Blueprint("products", __name__, url_prefix="/products") @@ -50,3 +51,21 @@ def category(category: str): def id(id: int): return "ID: " + str(id) + +# Launches the page to add a new product to the site +@blueprint.route('/add') +def add_product(): + user_id = session.get('user_id') + + # User must be logged in to view this page + if user_id == None: + flash("Please Login to view this page") + return redirect('/login') + + db = UserController() + user = db.read_id(user_id) + if user == None or user.role != "Seller": + flash("You must be logged in as a Seller to view this page") + return redirect('/') + + return render_template('index.html', content='new_product.html') diff --git a/controllers/web/user.py b/controllers/web/user.py index bbfa079..de5cd43 100644 --- a/controllers/web/user.py +++ b/controllers/web/user.py @@ -86,5 +86,6 @@ def signup(): # Function responsible for handling logouts from the site @blueprint.route('/logout') def logout(): - session.pop('user_id') + # Clear the current user from the session if they are logged in + session.pop('user_id', None) return redirect("/") \ No newline at end of file diff --git a/templates/header.html b/templates/header.html index afa8657..0f79e0d 100644 --- a/templates/header.html +++ b/templates/header.html @@ -39,4 +39,4 @@ {% endfor%} {% endif %} -{% endwith %} \ No newline at end of file +{% endwith %} diff --git a/templates/new_product.html b/templates/new_product.html new file mode 100644 index 0000000..882d66d --- /dev/null +++ b/templates/new_product.html @@ -0,0 +1,18 @@ +
+

Sign Up

+
+ + + + + +
+ +
+

Already have an account? Login

+

+