mirror of
https://github.com/inventree/InvenTree.git
synced 2025-04-29 20:16:44 +00:00
Refactor: Rename "GLOBAL_SETTINGS" to "SETTINGS"
This commit is contained in:
parent
7f08c75a08
commit
7cb029e7c3
@ -2,9 +2,14 @@
|
|||||||
Custom management command to cleanup old settings that are not defined anymore
|
Custom management command to cleanup old settings that are not defined anymore
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
import logging
|
||||||
|
|
||||||
from django.core.management.base import BaseCommand
|
from django.core.management.base import BaseCommand
|
||||||
|
|
||||||
|
|
||||||
|
logger = logging.getLogger('inventree')
|
||||||
|
|
||||||
|
|
||||||
class Command(BaseCommand):
|
class Command(BaseCommand):
|
||||||
"""
|
"""
|
||||||
Cleanup old (undefined) settings in the database
|
Cleanup old (undefined) settings in the database
|
||||||
@ -12,27 +17,27 @@ class Command(BaseCommand):
|
|||||||
|
|
||||||
def handle(self, *args, **kwargs):
|
def handle(self, *args, **kwargs):
|
||||||
|
|
||||||
print("Collecting settings")
|
logger.info("Collecting settings")
|
||||||
from common.models import InvenTreeSetting, InvenTreeUserSetting
|
from common.models import InvenTreeSetting, InvenTreeUserSetting
|
||||||
|
|
||||||
# general settings
|
# general settings
|
||||||
db_settings = InvenTreeSetting.objects.all()
|
db_settings = InvenTreeSetting.objects.all()
|
||||||
model_settings = InvenTreeSetting.GLOBAL_SETTINGS
|
model_settings = InvenTreeSetting.SETTINGS
|
||||||
|
|
||||||
# check if key exist and delete if not
|
# check if key exist and delete if not
|
||||||
for setting in db_settings:
|
for setting in db_settings:
|
||||||
if setting.key not in model_settings:
|
if setting.key not in model_settings:
|
||||||
setting.delete()
|
setting.delete()
|
||||||
print(f"deleted setting '{setting.key}'")
|
logger.info(f"deleted setting '{setting.key}'")
|
||||||
|
|
||||||
# user settings
|
# user settings
|
||||||
db_settings = InvenTreeUserSetting.objects.all()
|
db_settings = InvenTreeUserSetting.objects.all()
|
||||||
model_settings = InvenTreeUserSetting.GLOBAL_SETTINGS
|
model_settings = InvenTreeUserSetting.SETTINGS
|
||||||
|
|
||||||
# check if key exist and delete if not
|
# check if key exist and delete if not
|
||||||
for setting in db_settings:
|
for setting in db_settings:
|
||||||
if setting.key not in model_settings:
|
if setting.key not in model_settings:
|
||||||
setting.delete()
|
setting.delete()
|
||||||
print(f"deleted user setting '{setting.key}'")
|
logger.info(f"deleted user setting '{setting.key}'")
|
||||||
|
|
||||||
print("checked all settings")
|
logger.info("checked all settings")
|
||||||
|
@ -53,7 +53,7 @@ class BaseInvenTreeSetting(models.Model):
|
|||||||
single values (e.g. one-off settings values).
|
single values (e.g. one-off settings values).
|
||||||
"""
|
"""
|
||||||
|
|
||||||
GLOBAL_SETTINGS = {}
|
SETTINGS = {}
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
abstract = True
|
abstract = True
|
||||||
@ -98,13 +98,13 @@ class BaseInvenTreeSetting(models.Model):
|
|||||||
settings[setting.key.upper()] = setting.value
|
settings[setting.key.upper()] = setting.value
|
||||||
|
|
||||||
# Specify any "default" values which are not in the database
|
# Specify any "default" values which are not in the database
|
||||||
for key in cls.GLOBAL_SETTINGS.keys():
|
for key in cls.SETTINGS.keys():
|
||||||
|
|
||||||
if key.upper() not in settings:
|
if key.upper() not in settings:
|
||||||
settings[key.upper()] = cls.get_setting_default(key)
|
settings[key.upper()] = cls.get_setting_default(key)
|
||||||
|
|
||||||
if exclude_hidden:
|
if exclude_hidden:
|
||||||
hidden = cls.GLOBAL_SETTINGS[key].get('hidden', False)
|
hidden = cls.SETTINGS[key].get('hidden', False)
|
||||||
|
|
||||||
if hidden:
|
if hidden:
|
||||||
# Remove hidden items
|
# Remove hidden items
|
||||||
@ -133,11 +133,11 @@ class BaseInvenTreeSetting(models.Model):
|
|||||||
Return the 'definition' of a particular settings value, as a dict object.
|
Return the 'definition' of a particular settings value, as a dict object.
|
||||||
|
|
||||||
- The 'settings' dict can be passed as a kwarg
|
- The 'settings' dict can be passed as a kwarg
|
||||||
- If not passed, look for cls.GLOBAL_SETTINGS
|
- If not passed, look for cls.SETTINGS
|
||||||
- Returns an empty dict if the key is not found
|
- Returns an empty dict if the key is not found
|
||||||
"""
|
"""
|
||||||
|
|
||||||
settings = kwargs.get('settings', cls.GLOBAL_SETTINGS)
|
settings = kwargs.get('settings', cls.SETTINGS)
|
||||||
|
|
||||||
key = str(key).strip().upper()
|
key = str(key).strip().upper()
|
||||||
|
|
||||||
@ -594,7 +594,7 @@ class InvenTreeSetting(BaseInvenTreeSetting):
|
|||||||
The keys must be upper-case
|
The keys must be upper-case
|
||||||
"""
|
"""
|
||||||
|
|
||||||
GLOBAL_SETTINGS = {
|
SETTINGS = {
|
||||||
|
|
||||||
'SERVER_RESTART_REQUIRED': {
|
'SERVER_RESTART_REQUIRED': {
|
||||||
'name': _('Restart required'),
|
'name': _('Restart required'),
|
||||||
@ -1009,7 +1009,7 @@ class InvenTreeSetting(BaseInvenTreeSetting):
|
|||||||
Return True if this setting requires a server restart after changing
|
Return True if this setting requires a server restart after changing
|
||||||
"""
|
"""
|
||||||
|
|
||||||
options = InvenTreeSetting.GLOBAL_SETTINGS.get(self.key, None)
|
options = InvenTreeSetting.SETTINGS.get(self.key, None)
|
||||||
|
|
||||||
if options:
|
if options:
|
||||||
return options.get('requires_restart', False)
|
return options.get('requires_restart', False)
|
||||||
@ -1022,7 +1022,7 @@ class InvenTreeUserSetting(BaseInvenTreeSetting):
|
|||||||
An InvenTreeSetting object with a usercontext
|
An InvenTreeSetting object with a usercontext
|
||||||
"""
|
"""
|
||||||
|
|
||||||
GLOBAL_SETTINGS = {
|
SETTINGS = {
|
||||||
'HOMEPAGE_PART_STARRED': {
|
'HOMEPAGE_PART_STARRED': {
|
||||||
'name': _('Show subscribed parts'),
|
'name': _('Show subscribed parts'),
|
||||||
'description': _('Show subscribed parts on the homepage'),
|
'description': _('Show subscribed parts on the homepage'),
|
||||||
|
@ -49,9 +49,9 @@ class SettingsTest(TestCase):
|
|||||||
- Ensure that every global setting has a description.
|
- Ensure that every global setting has a description.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
for key in InvenTreeSetting.GLOBAL_SETTINGS.keys():
|
for key in InvenTreeSetting.SETTINGS.keys():
|
||||||
|
|
||||||
setting = InvenTreeSetting.GLOBAL_SETTINGS[key]
|
setting = InvenTreeSetting.SETTINGS[key]
|
||||||
|
|
||||||
name = setting.get('name', None)
|
name = setting.get('name', None)
|
||||||
|
|
||||||
@ -64,14 +64,14 @@ class SettingsTest(TestCase):
|
|||||||
raise ValueError(f'Missing GLOBAL_SETTING description for {key}')
|
raise ValueError(f'Missing GLOBAL_SETTING description for {key}')
|
||||||
|
|
||||||
if not key == key.upper():
|
if not key == key.upper():
|
||||||
raise ValueError(f"GLOBAL_SETTINGS key '{key}' is not uppercase")
|
raise ValueError(f"SETTINGS key '{key}' is not uppercase")
|
||||||
|
|
||||||
def test_defaults(self):
|
def test_defaults(self):
|
||||||
"""
|
"""
|
||||||
Populate the settings with default values
|
Populate the settings with default values
|
||||||
"""
|
"""
|
||||||
|
|
||||||
for key in InvenTreeSetting.GLOBAL_SETTINGS.keys():
|
for key in InvenTreeSetting.SETTINGS.keys():
|
||||||
|
|
||||||
value = InvenTreeSetting.get_setting_default(key)
|
value = InvenTreeSetting.get_setting_default(key)
|
||||||
|
|
||||||
|
@ -49,6 +49,7 @@ class PluginConfigAdmin(admin.ModelAdmin):
|
|||||||
list_display = ['name', 'key', '__str__', 'active', ]
|
list_display = ['name', 'key', '__str__', 'active', ]
|
||||||
list_filter = ['active']
|
list_filter = ['active']
|
||||||
actions = [plugin_activate, plugin_deactivate, ]
|
actions = [plugin_activate, plugin_deactivate, ]
|
||||||
inlines = [PluginSettingInline,]
|
inlines = [PluginSettingInline, ]
|
||||||
|
|
||||||
|
|
||||||
admin.site.register(models.PluginConfig, PluginConfigAdmin)
|
admin.site.register(models.PluginConfig, PluginConfigAdmin)
|
||||||
|
@ -256,7 +256,7 @@ class Plugins:
|
|||||||
self.mixins_globalsettings[slug] = plugin_setting
|
self.mixins_globalsettings[slug] = plugin_setting
|
||||||
|
|
||||||
# Add to settings dir
|
# Add to settings dir
|
||||||
InvenTreeSetting.GLOBAL_SETTINGS.update(plugin_setting)
|
InvenTreeSetting.SETTINGS.update(plugin_setting)
|
||||||
|
|
||||||
def deactivate_integration_globalsettings(self):
|
def deactivate_integration_globalsettings(self):
|
||||||
from common.models import InvenTreeSetting
|
from common.models import InvenTreeSetting
|
||||||
@ -268,7 +268,7 @@ class Plugins:
|
|||||||
|
|
||||||
# remove settings
|
# remove settings
|
||||||
for setting in plugin_settings:
|
for setting in plugin_settings:
|
||||||
InvenTreeSetting.GLOBAL_SETTINGS.pop(setting)
|
InvenTreeSetting.SETTINGS.pop(setting)
|
||||||
|
|
||||||
# clear cache
|
# clear cache
|
||||||
self.mixins_globalsettings = {}
|
self.mixins_globalsettings = {}
|
||||||
|
@ -76,7 +76,8 @@ class RuleSet(models.Model):
|
|||||||
'otp_totp_totpdevice',
|
'otp_totp_totpdevice',
|
||||||
'otp_static_statictoken',
|
'otp_static_statictoken',
|
||||||
'otp_static_staticdevice',
|
'otp_static_staticdevice',
|
||||||
'plugin_pluginconfig'
|
'plugin_pluginconfig',
|
||||||
|
'plugin_pluginsetting',
|
||||||
],
|
],
|
||||||
'part_category': [
|
'part_category': [
|
||||||
'part_partcategory',
|
'part_partcategory',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user