From 656bd3b530c9c30a306e969320a45976f0dee35c Mon Sep 17 00:00:00 2001 From: Selfmade-RuLeZ <53468564+Selfmade-RuLeZ@users.noreply.github.com> Date: Sat, 15 Oct 2022 23:49:46 +0200 Subject: [PATCH] Closes #10659: Import signals.py from Plugin Uses the importlib.import_module function from Python to import the signals module. This registers the receiver functions to receive signals from django. --- netbox/extras/plugins/__init__.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/netbox/extras/plugins/__init__.py b/netbox/extras/plugins/__init__.py index 0b57e6f05..633afb2f1 100644 --- a/netbox/extras/plugins/__init__.py +++ b/netbox/extras/plugins/__init__.py @@ -2,6 +2,8 @@ import collections import inspect from packaging import version +from importlib import import_module + from django.apps import AppConfig from django.core.exceptions import ImproperlyConfigured from django.template.loader import get_template @@ -60,9 +62,13 @@ class PluginConfig(AppConfig): menu_items = 'navigation.menu_items' template_extensions = 'template_content.template_extensions' user_preferences = 'preferences.preferences' + signals = 'signals' def ready(self): plugin_name = self.name.rsplit('.', 1)[-1] + + # import signals module (if existing) + import_module(f"{self.__module__}.{self.signals}") # Register template content (if defined) template_extensions = import_object(f"{self.__module__}.{self.template_extensions}")