From 73bb175afab6444f982b43b63c9b7c48514761b3 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 21 Mar 2024 11:28:32 -0400 Subject: [PATCH] Rename resolve_permission_ct() to resolve_permission_type() --- netbox/netbox/authentication.py | 14 +++++++------- netbox/utilities/permissions.py | 8 ++++---- netbox/utilities/testing/base.py | 6 +++--- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/netbox/netbox/authentication.py b/netbox/netbox/authentication.py index c70c68bc0..2b66639c8 100644 --- a/netbox/netbox/authentication.py +++ b/netbox/netbox/authentication.py @@ -12,7 +12,7 @@ from django.utils.translation import gettext_lazy as _ from users.constants import CONSTRAINT_TOKEN_USER from users.models import Group, ObjectPermission from utilities.permissions import ( - permission_is_exempt, qs_filter_from_constraints, resolve_permission, resolve_permission_ct, + permission_is_exempt, qs_filter_from_constraints, resolve_permission, resolve_permission_type, ) UserModel = get_user_model() @@ -284,11 +284,9 @@ class RemoteUserBackend(_RemoteUserBackend): permissions_list = [] for permission_name, constraints in settings.REMOTE_AUTH_DEFAULT_PERMISSIONS.items(): try: - object_type, action = resolve_permission_ct( - permission_name) - # TODO: Merge multiple actions into a single ObjectPermission per content type - obj_perm = ObjectPermission( - actions=[action], constraints=constraints) + object_type, action = resolve_permission_type(permission_name) + # TODO: Merge multiple actions into a single ObjectPermission per object type + obj_perm = ObjectPermission(actions=[action], constraints=constraints) obj_perm.save() obj_perm.users.add(user) obj_perm.object_types.add(object_type) @@ -303,7 +301,9 @@ class RemoteUserBackend(_RemoteUserBackend): f"Assigned permissions to remotely-authenticated user {user}: {permissions_list}") else: logger.debug( - f"Skipped initial assignment of permissions and groups to remotely-authenticated user {user} as Group sync is enabled") + f"Skipped initial assignment of permissions and groups to remotely-authenticated user {user} as " + f"Group sync is enabled" + ) return user diff --git a/netbox/utilities/permissions.py b/netbox/utilities/permissions.py index f4b7061ee..893cc619e 100644 --- a/netbox/utilities/permissions.py +++ b/netbox/utilities/permissions.py @@ -7,7 +7,7 @@ __all__ = ( 'permission_is_exempt', 'qs_filter_from_constraints', 'resolve_permission', - 'resolve_permission_ct', + 'resolve_permission_type', ) @@ -42,9 +42,9 @@ def resolve_permission(name): return app_label, action, model_name -def resolve_permission_ct(name): +def resolve_permission_type(name): """ - Given a permission name, return the relevant ContentType and action. For example, "dcim.view_site" returns + Given a permission name, return the relevant ObjectType and action. For example, "dcim.view_site" returns (Site, "view"). :param name: Permission name in the format ._ @@ -52,7 +52,7 @@ def resolve_permission_ct(name): from core.models import ObjectType app_label, action, model_name = resolve_permission(name) try: - object_type = ObjectType.objects.get(app_label=app_label, model=model_name) + object_type = ObjectType.objects.get_by_natural_key(app_label=app_label, model=model_name) except ObjectType.DoesNotExist: raise ValueError(_("Unknown app_label/model_name for {name}").format(name=name)) diff --git a/netbox/utilities/testing/base.py b/netbox/utilities/testing/base.py index f16c2fbbd..324798d44 100644 --- a/netbox/utilities/testing/base.py +++ b/netbox/utilities/testing/base.py @@ -12,7 +12,7 @@ from taggit.managers import TaggableManager from core.models import ObjectType from users.models import ObjectPermission -from utilities.permissions import resolve_permission_ct +from utilities.permissions import resolve_permission_type from utilities.utils import content_type_identifier from .utils import extract_form_failures @@ -44,11 +44,11 @@ class TestCase(_TestCase): Assign a set of permissions to the test user. Accepts permission names in the form ._. """ for name in names: - ct, action = resolve_permission_ct(name) + object_type, action = resolve_permission_type(name) obj_perm = ObjectPermission(name=name, actions=[action]) obj_perm.save() obj_perm.users.add(self.user) - obj_perm.object_types.add(ct) + obj_perm.object_types.add(object_type) # # Custom assertions