def install(self, **kwargs) -> "Plugin": if "organization_id" not in kwargs and "organization" in kwargs: kwargs["organization_id"] = kwargs["organization"].id if kwargs.get("plugin_type", None) != Plugin.PluginType.SOURCE: update_validated_data_from_url(kwargs, kwargs["url"]) raise_if_plugin_installed(kwargs["url"], kwargs["organization_id"]) reload_plugins_on_workers() return Plugin.objects.create(**kwargs)
def plugin_attachement_reload_needed(sender, instance, created=None, **kwargs): reload_plugins_on_workers()
def plugin_config_reload_needed(sender, instance, created=None, **kwargs): reload_plugins_on_workers()
def plugin_reload_needed(sender, instance, created=None, **kwargs): # Newly created plugins don't have a config yet, so no need to reload if not created: reload_plugins_on_workers()