[UPDT] BASE: Enhance login_required decorator to check employee existence and active status
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user