diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 3ddad8ff5d..e99940aa64 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -77,7 +77,9 @@ class BaseInvenTreeSetting(models.Model): for key, value in settings.items(): validator = cls.get_setting_validator(key) - if cls.validator_is_bool(validator): + if cls.is_protected(key): + value = '***' + elif cls.validator_is_bool(validator): value = InvenTree.helpers.str2bool(value) elif cls.validator_is_int(validator): try: @@ -476,6 +478,19 @@ class BaseInvenTreeSetting(models.Model): return value + @classmethod + def is_protected(cls, key): + """ + Check if the setting value is protected + """ + + key = str(key).strip().upper() + + if key in cls.GLOBAL_SETTINGS: + return cls.GLOBAL_SETTINGS[key].get('protected', False) + else: + return False + def settings_group_options(): """build up group tuple for settings based on gour choices"""