|
|
@@ -44,9 +44,9 @@ ADVISORY_LOCK_KEYS = {
|
|
|
'job-schedules': 110100,
|
|
|
}
|
|
|
|
|
|
-# TODO: Remove in NetBox v4.5
|
|
|
+# TODO: Remove in NetBox v4.7
|
|
|
# Legacy default view action permission mapping
|
|
|
-DEFAULT_ACTION_PERMISSIONS = {
|
|
|
+_DEFAULT_ACTION_PERMISSIONS = {
|
|
|
'add': {'add'},
|
|
|
'export': {'view'},
|
|
|
'bulk_import': {'add'},
|
|
|
@@ -54,6 +54,20 @@ DEFAULT_ACTION_PERMISSIONS = {
|
|
|
'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***'
|