REFACTOR: Changes all raw url's to url_fors

This commit is contained in:
2024-02-13 23:15:32 +00:00
parent 3dc7a1f861
commit 82f1eed554
12 changed files with 64 additions and 70 deletions

View File

@@ -3,7 +3,7 @@
"""
from flask import Blueprint
from flask import render_template, redirect, request, session, flash
from flask import render_template, redirect, request, session, flash, url_for
from controllers.database.user import UserController
from models.users.customer import Customer
from models.users.seller import Seller
@@ -11,7 +11,7 @@ from utils.user_utils import is_role
from hashlib import sha512
# Blueprint to append user endpoints to
blueprint = Blueprint("users", __name__)
blueprint = Blueprint("users", __name__, url_prefix="/users")
# LOGIN FUNCTIONALITY
@@ -32,16 +32,16 @@ def login():
if user is None:
error = "No user found with the username " + request.form['username']
flash(error, 'warning')
return redirect("/login")
return redirect(url_for('main.users.login'))
# Incorrect Password
if sha512(request.form['password'].encode()).hexdigest() != user.password:
error = "Incorrect Password"
flash(error, 'warning')
return redirect("/login")
return redirect(url_for('main.users.login'))
session['user_id'] = user.id
return redirect("/")
return redirect(url_for('main.index'))
# SIGNUP FUNCTIONALITY
@@ -60,7 +60,7 @@ def signup():
if database.read(request.form['username']) is not None:
error = "User, " + request.form['username'] + " already exists"
flash(error, 'warning')
return redirect("/signup")
return redirect(url_for('main.users.signup'))
# Signup as Seller or Customer
if request.form.get('seller'):
@@ -87,7 +87,7 @@ def signup():
database.create(user)
# Code 307 Preserves the original request (POST)
return redirect("/login", code=307)
return redirect(url_for('main.users.login'), code=307)
# SIGN OUT FUNCTIONALITY
@@ -96,7 +96,7 @@ def logout():
""" Function responsible for handling logouts from the site """
# Clear the current user from the session if they are logged in
session.pop('user_id', None)
return redirect("/")
return redirect(url_for('main.index'))
# DELETE USER FUNCTIONALITY
@@ -105,8 +105,8 @@ def delete(id: int):
""" Function responsible for deleting users from the site """
if not is_role("Admin"):
flash("You must be logged in an admin to remove users!", "error")
return redirect("/")
return redirect(url_for('main.index'))
db = UserController()
db.delete(id)
return redirect("/admin/users/")
return redirect(url_for('main.admin.users'))