diff --git a/ci/configuration/configuration.py b/ci/configuration/configuration.py index 6e3128c..3fc314d 100644 --- a/ci/configuration/configuration.py +++ b/ci/configuration/configuration.py @@ -206,6 +206,9 @@ def _read_secret(secret_name, default = None): # Plugins configuration settings. These settings are used by various plugins that the user may have installed. # Each key in the dictionary is the name of an installed plugin and its value is a dictionary of settings. PLUGINS_CONFIG = { + "netbox_slm": { + "top_level_menu": True + }, } # When determining the primary IP address for a device, IPv6 is preferred over IPv4 by default. Set this to True to diff --git a/netbox_slm/navigation.py b/netbox_slm/navigation.py index ae53bec..78cf3dd 100644 --- a/netbox_slm/navigation.py +++ b/netbox_slm/navigation.py @@ -1,6 +1,9 @@ -from netbox.plugins import PluginMenuButton, PluginMenuItem +from django.conf import settings -menu_items = ( +from netbox.plugins import PluginMenuButton, PluginMenuItem, PluginMenu +from . import SLMConfig + +slm_items = ( PluginMenuItem( link="plugins:netbox_slm:softwareproduct_list", link_text="Software Products", @@ -54,3 +57,12 @@ ), ), ) + +if settings.PLUGINS_CONFIG["netbox_slm"].get("top_level_menu") is True: + menu = PluginMenu( + label="Software Lifecycle", + groups=((SLMConfig.verbose_name, slm_items),), + icon_class="mdi mdi-content-save", + ) +else: + menu_items = slm_items