From ca2f108315d6aca3e6515f9630b0955e474a2e3f Mon Sep 17 00:00:00 2001 From: Brandon Rodriguez <brodriguez8774@gmail.com> Date: Fri, 7 Feb 2025 06:58:57 -0500 Subject: [PATCH] Correct a variable that was named inconsistently depending on if decorator or mixin --- adminlte2_pdq/decorators.py | 30 +++++++++++----------- adminlte2_pdq/middleware.py | 28 ++++++++++---------- adminlte2_pdq/templatetags/sidebar_menu.py | 18 ++++++------- 3 files changed, 38 insertions(+), 38 deletions(-) diff --git a/adminlte2_pdq/decorators.py b/adminlte2_pdq/decorators.py index 613ad0f..d7ad6ce 100644 --- a/adminlte2_pdq/decorators.py +++ b/adminlte2_pdq/decorators.py @@ -72,7 +72,7 @@ def allow_anonymous_access(function=None): Also adds the required logic to render the view on the sidebar template. """ - pdq_data = { + admin_pdq_data = { "decorator_name": "allow_anonymous_access", "allow_anonymous_access": True, "login_required": False, @@ -83,7 +83,7 @@ def allow_anonymous_access(function=None): def decorator(function): # Save values to view fetch function for middleware handling + potential debugging. - function.admin_pdq_data = pdq_data + function.admin_pdq_data = admin_pdq_data @wraps(function) def wrap(request, *args, **kwargs): @@ -92,7 +92,7 @@ def allow_anonymous_access(function=None): function_view = function(request, *args, **kwargs) # Save values to fully qualified view for middleware handling + potential debugging. - function_view.admin_pdq_data = pdq_data + function_view.admin_pdq_data = admin_pdq_data return function_view @@ -124,7 +124,7 @@ def login_required(function=None, redirect_field_name="next", login_url=None): * allow_without_permissions """ - pdq_data = { + admin_pdq_data = { "decorator_name": "login_required", "allow_anonymous_access": False, "login_required": True, @@ -136,7 +136,7 @@ def login_required(function=None, redirect_field_name="next", login_url=None): def decorator(function): # Save values to view fetch function for middleware handling + potential debugging. - function.admin_pdq_data = pdq_data + function.admin_pdq_data = admin_pdq_data @wraps(function) @django_login_required(redirect_field_name=redirect_field_name, login_url=login_url) @@ -146,7 +146,7 @@ def login_required(function=None, redirect_field_name="next", login_url=None): function_view = function(request, *args, **kwargs) # Save values to fully qualified view for middleware handling + potential debugging. - function_view.admin_pdq_data = pdq_data + function_view.admin_pdq_data = admin_pdq_data return function_view @@ -163,7 +163,7 @@ def allow_without_permissions(function=None, redirect_field_name="next", login_u Also adds the required logic to render the view on the sidebar template. """ - pdq_data = { + admin_pdq_data = { "decorator_name": "allow_without_permissions", "allow_anonymous_access": False, "login_required": True, @@ -174,7 +174,7 @@ def allow_without_permissions(function=None, redirect_field_name="next", login_u def decorator(function): # Save values to view fetch function for middleware handling + potential debugging. - function.admin_pdq_data = pdq_data + function.admin_pdq_data = admin_pdq_data @wraps(function) @django_login_required(redirect_field_name=redirect_field_name, login_url=login_url) @@ -184,7 +184,7 @@ def allow_without_permissions(function=None, redirect_field_name="next", login_u function_view = function(request, *args, **kwargs) # Save values to fully qualified view for middleware handling + potential debugging. - function_view.admin_pdq_data = pdq_data + function_view.admin_pdq_data = admin_pdq_data return function_view @@ -212,7 +212,7 @@ def permission_required_one(permission, login_url=None, raise_exception=False): # Ensure consistent permission format. permissions = _sanitize_permissions(permission) - pdq_data = { + admin_pdq_data = { "decorator_name": "permission_required", "allow_anonymous_access": False, "login_required": True, @@ -224,7 +224,7 @@ def permission_required_one(permission, login_url=None, raise_exception=False): def decorator(function): # Save values to view fetch function for middleware handling + potential debugging. - function.admin_pdq_data = pdq_data + function.admin_pdq_data = admin_pdq_data @wraps(function) @_one_of_permission_required(permission, login_url, raise_exception) @@ -234,7 +234,7 @@ def permission_required_one(permission, login_url=None, raise_exception=False): function_view = function(request, *args, **kwargs) # Save values to fully qualified view for middleware handling + potential debugging. - function_view.admin_pdq_data = pdq_data + function_view.admin_pdq_data = admin_pdq_data return function_view @@ -260,7 +260,7 @@ def permission_required(permission, login_url=None, raise_exception=False): # Ensure consistent permission format. permissions = _sanitize_permissions(permission) - pdq_data = { + admin_pdq_data = { "decorator_name": "permission_required", "allow_anonymous_access": False, "login_required": True, @@ -272,7 +272,7 @@ def permission_required(permission, login_url=None, raise_exception=False): def decorator(function): # Save values to view fetch function for middleware handling + potential debugging. - function.admin_pdq_data = pdq_data + function.admin_pdq_data = admin_pdq_data @wraps(function) @django_permission_required(permission, login_url, raise_exception) @@ -282,7 +282,7 @@ def permission_required(permission, login_url=None, raise_exception=False): function_view = function(request, *args, **kwargs) # Save values to fully qualified view for middleware handling + potential debugging. - function_view.admin_pdq_data = pdq_data + function_view.admin_pdq_data = admin_pdq_data return function_view diff --git a/adminlte2_pdq/middleware.py b/adminlte2_pdq/middleware.py index d610c51..60fa86f 100644 --- a/adminlte2_pdq/middleware.py +++ b/adminlte2_pdq/middleware.py @@ -436,10 +436,10 @@ class AuthMiddleware: # Get extra AdminLtePdq data, if available. if view_class: # Is class-based view. Get class data dict. - pdq_data = getattr(view_class, "admin_pdq_data", {}) + admin_pdq_data = getattr(view_class, "admin_pdq_data", {}) else: # Is function-based view. Get function data dict. - pdq_data = getattr(resolver.func, "admin_pdq_data", {}) + admin_pdq_data = getattr(resolver.func, "admin_pdq_data", {}) # Process data. if view_class: @@ -449,11 +449,11 @@ class AuthMiddleware: data_dict["view_perm_type"] = "mixin" # Handle for AdminLtePdq-specific attributes. - if pdq_data: - data_dict["decorator_name"] = pdq_data.get("decorator_name", "") - data_dict["allow_anonymous_access"] = pdq_data.get("allow_anonymous_access", False) - data_dict["login_required"] = pdq_data.get("login_required", False) - data_dict["allow_without_permissions"] = pdq_data.get("allow_without_permissions", False) + if admin_pdq_data: + data_dict["decorator_name"] = admin_pdq_data.get("decorator_name", "") + data_dict["allow_anonymous_access"] = admin_pdq_data.get("allow_anonymous_access", False) + data_dict["login_required"] = admin_pdq_data.get("login_required", False) + data_dict["allow_without_permissions"] = admin_pdq_data.get("allow_without_permissions", False) # Because we seem unable to get the "updated" class attributes, # and only have access to the original literal class-level values, @@ -500,13 +500,13 @@ class AuthMiddleware: data_dict["view_perm_type"] = "decorator" # Handle for AdminLtePdq-specific attributes. - if pdq_data: - data_dict["decorator_name"] = pdq_data.get("decorator_name", "") - data_dict["allow_anonymous_access"] = pdq_data.get("allow_anonymous_access", False) - data_dict["login_required"] = pdq_data.get("login_required", False) - data_dict["allow_without_permissions"] = pdq_data.get("allow_without_permissions", False) - data_dict["one_of_permissions"] = pdq_data.get("one_of_permissions", None) - data_dict["full_permissions"] = pdq_data.get("full_permissions", None) + if admin_pdq_data: + data_dict["decorator_name"] = admin_pdq_data.get("decorator_name", "") + data_dict["allow_anonymous_access"] = admin_pdq_data.get("allow_anonymous_access", False) + data_dict["login_required"] = admin_pdq_data.get("login_required", False) + data_dict["allow_without_permissions"] = admin_pdq_data.get("allow_without_permissions", False) + data_dict["one_of_permissions"] = admin_pdq_data.get("one_of_permissions", None) + data_dict["full_permissions"] = admin_pdq_data.get("full_permissions", None) except Http404: data_dict.update({"resolver": None}) diff --git a/adminlte2_pdq/templatetags/sidebar_menu.py b/adminlte2_pdq/templatetags/sidebar_menu.py index fb14035..e6382dd 100644 --- a/adminlte2_pdq/templatetags/sidebar_menu.py +++ b/adminlte2_pdq/templatetags/sidebar_menu.py @@ -223,16 +223,16 @@ def get_permissions_from_view(view): view_data = {} view_class = getattr(view.func, "view_class", None) if view_class: - pdq_data = getattr(view_class, "admin_pdq_data", {}) + admin_pdq_data = getattr(view_class, "admin_pdq_data", {}) else: - pdq_data = getattr(view.func, "admin_pdq_data", {}) - - view_data["decorator_name"] = pdq_data.get("decorator_name", "") - view_data["allow_anonymous_access"] = pdq_data.get("allow_anonymous_access", None) - view_data["login_required"] = pdq_data.get("login_required", None) - view_data["allow_without_permissions"] = pdq_data.get("allow_without_permissions", None) - view_data["one_of_permissions"] = pdq_data.get("one_of_permissions", []) - view_data["full_permissions"] = pdq_data.get("full_permissions", []) + admin_pdq_data = getattr(view.func, "admin_pdq_data", {}) + + view_data["decorator_name"] = admin_pdq_data.get("decorator_name", "") + view_data["allow_anonymous_access"] = admin_pdq_data.get("allow_anonymous_access", None) + view_data["login_required"] = admin_pdq_data.get("login_required", None) + view_data["allow_without_permissions"] = admin_pdq_data.get("allow_without_permissions", None) + view_data["one_of_permissions"] = admin_pdq_data.get("one_of_permissions", []) + view_data["full_permissions"] = admin_pdq_data.get("full_permissions", []) return view_data -- GitLab