[UPDT] BASE: Enhance login_required decorator to check employee existence and active status

This commit is contained in:
Horilla
2025-05-16 11:03:30 +05:30
parent 201656a492
commit 707390cba7

View File

@@ -241,13 +241,22 @@ def login_required(view_func):
request.session["title"] = res
if path == "" or path == "/":
request.session["title"] = "Dashboard".upper()
if not request.user.is_authenticated or not request.user.is_active:
login_url = reverse("login")
params = urlencode(request.GET)
url = f"{login_url}?next={request.path}"
if params:
url += f"&{params}"
return redirect(url)
login_url = reverse("login")
query_string = urlencode(request.GET)
redirect_url = f"{login_url}?next={request.path}"
if query_string:
redirect_url += f"&{query_string}"
employee = getattr(request.user, "employee_get", None)
if (
not request.user.is_authenticated
or not request.user.is_active
or not employee
or not employee.is_active
):
return redirect(redirect_url)
try:
func = view_func(request, *args, **kwargs)
except Exception as e: