mirror of
				https://github.com/inventree/InvenTree.git
				synced 2025-10-31 13:15:43 +00:00 
			
		
		
		
	setting to control plugin settings ingestion
This commit is contained in:
		| @@ -266,6 +266,7 @@ INSTALLED_APPS = [ | |||||||
|     'report.apps.ReportConfig', |     'report.apps.ReportConfig', | ||||||
|     'stock.apps.StockConfig', |     'stock.apps.StockConfig', | ||||||
|     'users.apps.UsersConfig', |     'users.apps.UsersConfig', | ||||||
|  |     'plugin.apps.PluginConfig', | ||||||
|     'InvenTree.apps.InvenTreeConfig',       # InvenTree app runs last |     'InvenTree.apps.InvenTreeConfig',       # InvenTree app runs last | ||||||
|  |  | ||||||
|     # Third part add-ons |     # Third part add-ons | ||||||
| @@ -764,11 +765,6 @@ for plugin in inventree_plugins.load_integration_plugins(): | |||||||
|  |  | ||||||
|     INTEGRATION_PLUGINS.append(plugin) |     INTEGRATION_PLUGINS.append(plugin) | ||||||
|     INTEGRATION_PLUGIN_LIST[plugin.slug] = plugin |     INTEGRATION_PLUGIN_LIST[plugin.slug] = plugin | ||||||
|     if plugin.mixin_enabled('settings'): |  | ||||||
|         plugin_setting = plugin.settingspatterns |  | ||||||
|  |  | ||||||
|         INTEGRATION_PLUGIN_SETTING[plugin.slug] = plugin_setting |  | ||||||
|         INTEGRATION_PLUGIN_SETTINGS.update(plugin_setting) |  | ||||||
|  |  | ||||||
|     if plugin.mixin_enabled('app'): |     if plugin.mixin_enabled('app'): | ||||||
|         plugin_path = '.'.join(pathlib.Path(plugin.path).relative_to(BASE_DIR).parts) |         plugin_path = '.'.join(pathlib.Path(plugin.path).relative_to(BASE_DIR).parts) | ||||||
|   | |||||||
| @@ -866,7 +866,12 @@ class InvenTreeSetting(BaseInvenTreeSetting): | |||||||
|             'default': False, |             'default': False, | ||||||
|             'validator': bool, |             'validator': bool, | ||||||
|         }, |         }, | ||||||
|         **settings.INTEGRATION_PLUGIN_SETTINGS, |         'ENABLE_PLUGINS_SETTING': { | ||||||
|  |             'name': _('Enable setting integration'), | ||||||
|  |             'description': _('Enable plugins to integrate into inventree settings'), | ||||||
|  |             'default': False, | ||||||
|  |             'validator': bool, | ||||||
|  |         }, | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     class Meta: |     class Meta: | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								InvenTree/plugin/apps.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								InvenTree/plugin/apps.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | from __future__ import unicode_literals | ||||||
|  |  | ||||||
|  | from django.apps import AppConfig | ||||||
|  | from django.conf import settings | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class PluginConfig(AppConfig): | ||||||
|  |     name = 'plugin' | ||||||
|  |  | ||||||
|  |     def ready(self): | ||||||
|  |         from common.models import InvenTreeSetting | ||||||
|  |  | ||||||
|  |         if InvenTreeSetting.get_setting('ENABLE_PLUGINS_SETTING'): | ||||||
|  |             for slug, plugin in settings.INTEGRATION_PLUGIN_LIST.items(): | ||||||
|  |                 if plugin.mixin_enabled('settings'): | ||||||
|  |                     plugin_setting = plugin.settingspatterns | ||||||
|  |                     settings.INTEGRATION_PLUGIN_SETTING[slug] = plugin_setting | ||||||
|  |                     settings.INTEGRATION_PLUGIN_SETTINGS.update(plugin_setting) | ||||||
| @@ -18,6 +18,7 @@ | |||||||
|     <tbody> |     <tbody> | ||||||
|         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_URL" %} |         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_URL" %} | ||||||
|         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_NAVIGATION" %} |         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_NAVIGATION" %} | ||||||
|  |         {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_SETTING"%} | ||||||
|     </tbody> |     </tbody> | ||||||
| </table> | </table> | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user