Просмотр исходного кода

Rename resolve_permission_ct() to resolve_permission_type()

Jeremy Stretch 1 год назад
Родитель
Сommit
73bb175afa

+ 7 - 7
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
 

+ 4 - 4
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 <app_label>.<action>_<model>
@@ -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))
 

+ 3 - 3
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 <app>.<action>_<model>.
         """
         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