diff --git a/netbox/core/plugins.py b/netbox/core/plugins.py index 300c6596e..bfc5ee242 100644 --- a/netbox/core/plugins.py +++ b/netbox/core/plugins.py @@ -64,9 +64,8 @@ class Plugin: is_certified: bool = False release_latest: PluginVersion = field(default_factory=PluginVersion) release_recent_history: list[PluginVersion] = field(default_factory=list) - is_local: bool = False # extra field for locally installed plugins - is_installed: bool = False - failed_to_load: bool = False + is_local: bool = False # Indicates that the plugin is listed in settings.PLUGINS (i.e. installed) + is_loaded: bool = False # Indicates whether the plugin successfully loaded at launch installed_version: str = '' netbox_min_version: str = '' netbox_max_version: str = '' @@ -94,8 +93,7 @@ def get_local_plugins(plugins=None): tag_line=plugin_config.description, description_short=plugin_config.description, is_local=True, - is_installed=True, - failed_to_load=plugin_name not in registry['plugins']['installed'], + is_loaded=plugin_name in registry['plugins']['installed'], installed_version=installed_version, netbox_min_version=plugin_config.min_version, netbox_max_version=plugin_config.max_version, @@ -104,8 +102,8 @@ def get_local_plugins(plugins=None): # Update catalog entries for local plugins, or add them to the list if not listed for k, v in local_plugins.items(): if k in plugins: - plugins[k].is_local = True - plugins[k].is_installed = v.is_installed + plugins[k].is_local = v.is_local + plugins[k].is_loaded = v.is_loaded plugins[k].installed_version = v.installed_version else: plugins[k] = v diff --git a/netbox/core/tables/template_code.py b/netbox/core/tables/template_code.py index 411574295..e53714994 100644 --- a/netbox/core/tables/template_code.py +++ b/netbox/core/tables/template_code.py @@ -16,10 +16,12 @@ OBJECTCHANGE_REQUEST_ID = """ """ PLUGIN_IS_INSTALLED = """ -{% if record.failed_to_load %} - -{% elif value is True %} - +{% if record.is_local %} + {% if record.is_loaded %} + + {% else %} + + {% endif %} {% else %} {% endif %}