diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 84f9a4277d..299549be49 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -398,6 +398,17 @@ class BaseInvenTreeSetting(models.Model): def units(self): return self.__class__.get_setting_units(self.key) + @property + def native_value(self): + + if self.is_bool(): + return self.as_bool() + + if self.is_int(): + return self.as_int() + + return self.value + def clean(self, **kwargs): """ If a validator (or multiple validators) are defined for a particular setting key, @@ -636,6 +647,9 @@ class BaseInvenTreeSetting(models.Model): return setting.get('protected', False) + @property + def protected(self): + return self.__class__.is_protected(self.key) def settings_group_options(): """ diff --git a/InvenTree/common/serializers.py b/InvenTree/common/serializers.py index 71ccac8a4d..86d45cd881 100644 --- a/InvenTree/common/serializers.py +++ b/InvenTree/common/serializers.py @@ -50,11 +50,12 @@ class SettingsSerializer(InvenTreeModelSerializer): """ Make sure protected values are not returned """ - result = obj.value # never return protected values - if obj.is_protected: + if obj.protected: result = '***' + else: + result = obj.value return result