2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-07-04 04:30:56 +00:00

Display boolean values as checkboxes

This commit is contained in:
Oliver Walters
2020-10-25 21:33:13 +11:00
parent 3a325399c6
commit 432ecc1d96
3 changed files with 71 additions and 15 deletions

View File

@ -191,6 +191,23 @@ class InvenTreeSetting(models.Model):
else:
return ''
@classmethod
def get_setting_object(cls, key):
"""
Return an InvenTreeSetting object matching the given key.
- Key is case-insensitive
- Returns None if no match is made
"""
key = str(key).strip().upper()
try:
setting = InvenTreeSetting.objects.filter(key__iexact=key).first()
return setting
except (InvenTreeSetting.DoesNotExist):
return None
@classmethod
def get_setting_pk(cls, key):
"""
@ -199,12 +216,11 @@ class InvenTreeSetting(models.Model):
If the setting does not exist, return None
"""
key = str(key).strip().upper()
setting = InvenTreeSetting.get_setting_object(cls)
try:
setting = InvenTreeSetting.objects.filter(key__iexact=key).first()
if setting:
return setting.pk
except InvenTreeSetting.DoesNotExist:
else:
return None
@classmethod
@ -218,14 +234,11 @@ class InvenTreeSetting(models.Model):
if backup_value is None:
backup_value = cls.get_default_value(key)
try:
settings = InvenTreeSetting.objects.filter(key__iexact=key)
setting = InvenTreeSetting.get_setting_object(key)
if len(settings) > 0:
return settings[0].value
else:
return backup_value
except InvenTreeSetting.DoesNotExist:
if setting:
return setting.value
else:
return backup_value
@classmethod
@ -325,6 +338,15 @@ class InvenTreeSetting(models.Model):
return validator == bool
def as_bool(self):
"""
Return the value of this setting converted to a boolean value.
Warning: Only use on values where is_bool evaluates to true!
"""
return InvenTree.helpers.str2bool(self.value)
class Currency(models.Model):
"""