Remove the DEFAULT_ACTION_PERMISSIONS constant (closes #21886)

Removes the deprecated _DEFAULT_ACTION_PERMISSIONS dict and its
__getattr__ compatibility shim from netbox/constants.py. Action
permissions should be defined via ObjectAction subclasses.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jeremy Stretch 2026-05-07 08:30:25 -04:00
parent 2562216006
commit 9275db607e
2 changed files with 13 additions and 24 deletions

View File

@ -0,0 +1,13 @@
# NetBox v4.7
## v4.7.0 (FUTURE)
### Breaking Changes
### Enhancements
### Other Changes
* [#21886](https://github.com/netbox-community/netbox/issues/21886) - Remove the obsolete `DEFAULT_ACTION_PERMISSIONS` constant
### REST API Changes

View File

@ -44,30 +44,6 @@ ADVISORY_LOCK_KEYS = {
'job-schedules': 110100,
}
# TODO: Remove in NetBox v4.7
# Legacy default view action permission mapping
_DEFAULT_ACTION_PERMISSIONS = {
'add': {'add'},
'export': {'view'},
'bulk_import': {'add'},
'bulk_edit': {'change'},
'bulk_delete': {'delete'},
}
def __getattr__(name):
if name == 'DEFAULT_ACTION_PERMISSIONS':
import warnings
warnings.warn(
f"{name} is deprecated and will be removed in NetBox v4.7. "
"Define action permissions via ObjectAction subclasses instead.",
DeprecationWarning,
stacklevel=2,
)
return _DEFAULT_ACTION_PERMISSIONS
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
# General-purpose tokens
CENSOR_TOKEN = '********'
CENSOR_TOKEN_CHANGED = '***CHANGED***'