enable setup hooks

Fixes #2218
This commit is contained in:
Matthias 2021-11-04 03:43:39 +01:00
parent 83d0693013
commit 93a28bbaba
No known key found for this signature in database
GPG Key ID: F50EF5741D33E076
2 changed files with 12 additions and 1 deletions

View File

@ -19,6 +19,7 @@ import string
import shutil
import sys
import importlib
from importlib import metadata
from datetime import datetime
import moneyed
@ -821,6 +822,11 @@ for plugin in PLUGIN_DIRS:
if modules:
[PLUGINS.append(item) for item in modules]
# Get plugins from setup entry points
for entry in metadata.entry_points().get('inventree_plugins', []):
plugin = entry.load()
PLUGINS.append(plugin)
# collect integration plugins
INTEGRATION_PLUGINS = {}
INTEGRATION_PLUGIN_SETTING = {}

View File

@ -34,7 +34,12 @@ class PluginConfig(AppConfig):
# add them to the INSTALLED_APPS
for slug, plugin in plugins:
if plugin.mixin_enabled('app'):
plugin_path = '.'.join(pathlib.Path(plugin.path).relative_to(settings.BASE_DIR).parts)
try:
# for local path plugins
plugin_path = '.'.join(pathlib.Path(plugin.path).relative_to(settings.BASE_DIR).parts)
except ValueError:
# plugin is shipped as package
plugin_path = plugin.PLUGIN_NAME
if plugin_path not in settings.INSTALLED_APPS:
settings.INSTALLED_APPS += [plugin_path]
apps_changed = True