mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-24 17:38:37 -06:00
Closes #18072: Remove support for single model registration from PluginTemplateExtension
This commit is contained in:
parent
08b2fc424a
commit
7e669d1a14
@ -1,7 +1,7 @@
|
|||||||
import inspect
|
import inspect
|
||||||
import warnings
|
|
||||||
|
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from netbox.registry import registry
|
from netbox.registry import registry
|
||||||
from .navigation import PluginMenu, PluginMenuButton, PluginMenuItem
|
from .navigation import PluginMenu, PluginMenuButton, PluginMenuItem
|
||||||
from .templates import PluginTemplateExtension
|
from .templates import PluginTemplateExtension
|
||||||
@ -35,16 +35,8 @@ def register_template_extensions(class_list):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if template_extension.models:
|
if template_extension.models:
|
||||||
# Registration for multiple models
|
# Registration for specific models
|
||||||
models = template_extension.models
|
models = template_extension.models
|
||||||
elif template_extension.model:
|
|
||||||
# Registration for a single model (deprecated)
|
|
||||||
warnings.warn(
|
|
||||||
"PluginTemplateExtension.model is deprecated and will be removed in a future release. Use "
|
|
||||||
"'models' instead.",
|
|
||||||
DeprecationWarning
|
|
||||||
)
|
|
||||||
models = [template_extension.model]
|
|
||||||
else:
|
else:
|
||||||
# Global registration (no specific models)
|
# Global registration (no specific models)
|
||||||
models = [None]
|
models = [None]
|
||||||
|
@ -11,8 +11,14 @@ class PluginTemplateExtension:
|
|||||||
This class is used to register plugin content to be injected into core NetBox templates. It contains methods
|
This class is used to register plugin content to be injected into core NetBox templates. It contains methods
|
||||||
that are overridden by plugin authors to return template content.
|
that are overridden by plugin authors to return template content.
|
||||||
|
|
||||||
The `model` attribute on the class defines the which model detail page this class renders content for. It
|
The `models` attribute on the class defines the which specific model detail pages this class renders content
|
||||||
should be set as a string in the form '<app_label>.<model_name>'. render() provides the following context data:
|
for. It should be defined as a list of strings in the following form:
|
||||||
|
|
||||||
|
models = ['<app_label>.<model_name>', '<app_label>.<model_name>']
|
||||||
|
|
||||||
|
If `models` is left as None, the extension will render for _all_ models.
|
||||||
|
|
||||||
|
The `render()` method provides the following context data:
|
||||||
|
|
||||||
* object - The object being viewed (object views only)
|
* object - The object being viewed (object views only)
|
||||||
* model - The type of object being viewed (list views only)
|
* model - The type of object being viewed (list views only)
|
||||||
@ -21,7 +27,6 @@ class PluginTemplateExtension:
|
|||||||
* config - Plugin-specific configuration parameters
|
* config - Plugin-specific configuration parameters
|
||||||
"""
|
"""
|
||||||
models = None
|
models = None
|
||||||
model = None # Deprecated; use `models` instead
|
|
||||||
|
|
||||||
def __init__(self, context):
|
def __init__(self, context):
|
||||||
self.context = context
|
self.context = context
|
||||||
|
Loading…
Reference in New Issue
Block a user