diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 65d8aa7c2e..5dfc1cd35f 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -11,6 +11,7 @@ import decimal from django.db import models from django.conf import settings + from django.utils.translation import ugettext as _ from django.core.validators import MinValueValidator, MaxValueValidator from django.core.exceptions import ValidationError @@ -287,11 +288,11 @@ class InvenTreeSetting(models.Model): return - print("Running validator:", validator, self.key, self.value) - # Check if a 'type' has been specified for this value if type(validator) == type: + if validator == bool: + # Value must "look like" a boolean value if InvenTree.helpers.is_bool(self.value): # Coerce into either "True" or "False" self.value = str(InvenTree.helpers.str2bool(self.value)) @@ -300,8 +301,6 @@ class InvenTreeSetting(models.Model): 'value': _('Value must be a boolean value') }) - - def validate_unique(self, exclude=None): """ Ensure that the key:value pair is unique. In addition to the base validators, this ensures that the 'key' @@ -317,6 +316,15 @@ class InvenTreeSetting(models.Model): except InvenTreeSetting.DoesNotExist: pass + def is_bool(self): + """ + Check if this setting is required to be a boolean value + """ + + validator = InvenTreeSetting.get_setting_validator(self.key) + + return validator == bool + class Currency(models.Model): """ diff --git a/InvenTree/common/templates/common/edit_setting.html b/InvenTree/common/templates/common/edit_setting.html index 815ac76702..c74ed7d591 100644 --- a/InvenTree/common/templates/common/edit_setting.html +++ b/InvenTree/common/templates/common/edit_setting.html @@ -4,11 +4,11 @@ {% block pre_form_content %} {{ block.super }} - -
- {{ name }}
- {{ description }}
- {% trans "Current value" %}: {{ value }}
-