Explorar o código

Closes #14657: Remove backward compatibility for old permissions mapping under ActionsMixin

Jeremy Stretch %!s(int64=2) %!d(string=hai) anos
pai
achega
cd7d038fc0
Modificáronse 1 ficheiros con 1 adicións e 30 borrados
  1. 1 30
      netbox/netbox/views/generic/mixins.py

+ 1 - 30
netbox/netbox/views/generic/mixins.py

@@ -1,5 +1,3 @@
-import warnings
-
 from netbox.constants import DEFAULT_ACTION_PERMISSIONS
 from netbox.constants import DEFAULT_ACTION_PERMISSIONS
 from utilities.permissions import get_permission_for_model
 from utilities.permissions import get_permission_for_model
 
 
@@ -26,38 +24,11 @@ class ActionsMixin:
         """
         """
         model = model or self.queryset.model
         model = model or self.queryset.model
 
 
-        # TODO: Remove backward compatibility in Netbox v4.0
-        # Determine how permissions are being mapped to actions for the view
-        if hasattr(self, 'action_perms'):
-            # Backward compatibility for <3.7
-            permissions_map = self.action_perms
-            warnings.warn(
-                "Setting action_perms on views is deprecated and will be removed in NetBox v4.0. Use actions instead.",
-                DeprecationWarning
-            )
-        elif type(self.actions) is dict:
-            # New actions format (3.7+)
-            permissions_map = self.actions
-        else:
-            # actions is still defined as a list or tuple (<3.7) but no custom mapping is defined; use the old
-            # default mapping
-            permissions_map = {
-                'add': {'add'},
-                'import': {'add'},
-                'bulk_edit': {'change'},
-                'bulk_delete': {'delete'},
-            }
-            warnings.warn(
-                "View actions should be defined as a dictionary mapping. Support for the legacy list format will be "
-                "removed in NetBox v4.0.",
-                DeprecationWarning
-            )
-
         # Resolve required permissions for each action
         # Resolve required permissions for each action
         permitted_actions = []
         permitted_actions = []
         for action in self.actions:
         for action in self.actions:
             required_permissions = [
             required_permissions = [
-                get_permission_for_model(model, name) for name in permissions_map.get(action, set())
+                get_permission_for_model(model, name) for name in self.actions.get(action, set())
             ]
             ]
             if not required_permissions or user.has_perms(required_permissions):
             if not required_permissions or user.has_perms(required_permissions):
                 permitted_actions.append(action)
                 permitted_actions.append(action)