mirror of
https://github.com/inventree/InvenTree.git
synced 2025-05-04 14:28:48 +00:00
own flag to enable plugin testing
This commit is contained in:
parent
860c56e4ca
commit
2638ef046d
@ -55,6 +55,7 @@ def get_setting(environment_var, backup_val, default_value=None):
|
|||||||
|
|
||||||
# Determine if we are running in "test" mode e.g. "manage.py test"
|
# Determine if we are running in "test" mode e.g. "manage.py test"
|
||||||
TESTING = 'test' in sys.argv
|
TESTING = 'test' in sys.argv
|
||||||
|
PLUGIN_TESTING = TESTING # used to forece enable everything plugin
|
||||||
|
|
||||||
# New requirement for django 3.2+
|
# New requirement for django 3.2+
|
||||||
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
|
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
|
||||||
|
@ -125,7 +125,7 @@ translated_javascript_urls = [
|
|||||||
# Integration plugin urls
|
# Integration plugin urls
|
||||||
interation_urls = []
|
interation_urls = []
|
||||||
try:
|
try:
|
||||||
if settings.TESTING or InvenTreeSetting.get_setting('ENABLE_PLUGINS_URL'):
|
if settings.PLUGIN_TESTING or InvenTreeSetting.get_setting('ENABLE_PLUGINS_URL'):
|
||||||
for plugin in settings.INTEGRATION_PLUGINS.values():
|
for plugin in settings.INTEGRATION_PLUGINS.values():
|
||||||
if plugin.mixin_enabled('urls'):
|
if plugin.mixin_enabled('urls'):
|
||||||
interation_urls.append(plugin.urlpatterns)
|
interation_urls.append(plugin.urlpatterns)
|
||||||
|
@ -69,7 +69,7 @@ class PluginAppConfig(AppConfig):
|
|||||||
plugin_db_setting, _ = PluginConfig.objects.get_or_create(key=plug_key, name=plug_name)
|
plugin_db_setting, _ = PluginConfig.objects.get_or_create(key=plug_key, name=plug_name)
|
||||||
|
|
||||||
# always activate if testing
|
# always activate if testing
|
||||||
if settings.TESTING or plugin_db_setting.active:
|
if settings.PLUGIN_TESTING or plugin_db_setting.active:
|
||||||
# init package
|
# init package
|
||||||
# now we can be sure that an admin has activated the plugin -> as of Nov 2021 there are not many checks in place
|
# now we can be sure that an admin has activated the plugin -> as of Nov 2021 there are not many checks in place
|
||||||
# but we could enhance those to check signatures, run the plugin against a whitelist etc.
|
# but we could enhance those to check signatures, run the plugin against a whitelist etc.
|
||||||
@ -100,7 +100,7 @@ class PluginAppConfig(AppConfig):
|
|||||||
def activate_integration_settings(self, plugins):
|
def activate_integration_settings(self, plugins):
|
||||||
from common.models import InvenTreeSetting
|
from common.models import InvenTreeSetting
|
||||||
|
|
||||||
if settings.TESTING or InvenTreeSetting.get_setting('ENABLE_PLUGINS_SETTING'):
|
if settings.PLUGIN_TESTING or InvenTreeSetting.get_setting('ENABLE_PLUGINS_SETTING'):
|
||||||
logger.info('Registering IntegrationPlugin settings')
|
logger.info('Registering IntegrationPlugin settings')
|
||||||
for slug, plugin in plugins:
|
for slug, plugin in plugins:
|
||||||
if plugin.mixin_enabled('settings'):
|
if plugin.mixin_enabled('settings'):
|
||||||
@ -113,7 +113,7 @@ class PluginAppConfig(AppConfig):
|
|||||||
def activate_integration_app(self, plugins):
|
def activate_integration_app(self, plugins):
|
||||||
from common.models import InvenTreeSetting
|
from common.models import InvenTreeSetting
|
||||||
|
|
||||||
if settings.TESTING or ((not settings.INTEGRATION_APPS_LOADED) and InvenTreeSetting.get_setting('ENABLE_PLUGINS_APP')):
|
if settings.PLUGIN_TESTING or ((not settings.INTEGRATION_APPS_LOADED) and InvenTreeSetting.get_setting('ENABLE_PLUGINS_APP')):
|
||||||
logger.info('Registering IntegrationPlugin apps')
|
logger.info('Registering IntegrationPlugin apps')
|
||||||
settings.INTEGRATION_APPS_LOADED = True # ensure this section will not run again
|
settings.INTEGRATION_APPS_LOADED = True # ensure this section will not run again
|
||||||
apps_changed = False
|
apps_changed = False
|
||||||
|
@ -39,7 +39,7 @@ def mixin_enabled(plugin, key, *args, **kwargs):
|
|||||||
@register.simple_tag()
|
@register.simple_tag()
|
||||||
def navigation_enabled(*args, **kwargs):
|
def navigation_enabled(*args, **kwargs):
|
||||||
"""Return if plugin navigation is enabled"""
|
"""Return if plugin navigation is enabled"""
|
||||||
if djangosettings.TESTING:
|
if djangosettings.PLUGIN_TESTING:
|
||||||
return True
|
return True
|
||||||
return InvenTreeSetting.get_setting('ENABLE_PLUGINS_NAVIGATION')
|
return InvenTreeSetting.get_setting('ENABLE_PLUGINS_NAVIGATION')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user