diff --git a/InvenTree/build/test_build.py b/InvenTree/build/test_build.py index 26659d82f0..89babf0bdf 100644 --- a/InvenTree/build/test_build.py +++ b/InvenTree/build/test_build.py @@ -146,6 +146,7 @@ class BuildTest(BuildTestBase): def test_ref_int(self): """Test the "integer reference" field used for natural sorting""" + # Set build reference to new value common.models.InvenTreeSetting.set_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref}-???', change_user=None) refs = { @@ -168,6 +169,9 @@ class BuildTest(BuildTestBase): build.save() self.assertEqual(build.reference_int, ref_int) + # Set build reference back to default value + common.models.InvenTreeSetting.set_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref:04d}', change_user=None) + def test_ref_validation(self): """Test that the reference field validation works as expected""" @@ -214,6 +218,9 @@ class BuildTest(BuildTestBase): title='Valid reference', ) + # Set build reference back to default value + common.models.InvenTreeSetting.set_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref:04d}', change_user=None) + def test_next_ref(self): """Test that the next reference is automatically generated""" @@ -238,6 +245,9 @@ class BuildTest(BuildTestBase): self.assertEqual(build.reference, 'XYZ-000988') self.assertEqual(build.reference_int, 988) + # Set build reference back to default value + common.models.InvenTreeSetting.set_setting('BUILDORDER_REFERENCE_PATTERN', 'BO-{ref:04d}', change_user=None) + def test_init(self): """Perform some basic tests before we start the ball rolling""" diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 0e15fd124c..f6dc80a8c1 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -406,6 +406,9 @@ class BaseInvenTreeSetting(models.Model): **cls.get_filters(**kwargs), } + # Unless otherwise specified, attempt to create the setting + create = kwargs.pop('create', True) + # Perform cache lookup by default do_cache = kwargs.pop('cache', True) @@ -434,9 +437,6 @@ class BaseInvenTreeSetting(models.Model): # Setting does not exist! (Try to create it) if not setting: - # Unless otherwise specified, attempt to create the setting - create = kwargs.pop('create', True) - # Prevent creation of new settings objects when importing data if InvenTree.ready.isImportingData() or not InvenTree.ready.canAppAccessDatabase(allow_test=True, allow_shell=True): create = False diff --git a/InvenTree/common/settings.py b/InvenTree/common/settings.py index 205f13ee00..c381826272 100644 --- a/InvenTree/common/settings.py +++ b/InvenTree/common/settings.py @@ -15,7 +15,7 @@ def currency_code_default(): from common.models import InvenTreeSetting try: - code = InvenTreeSetting.get_setting('INVENTREE_DEFAULT_CURRENCY', create=False, cache=False) + code = InvenTreeSetting.get_setting('INVENTREE_DEFAULT_CURRENCY', create=True, cache=True) except Exception: # pragma: no cover # Database may not yet be ready, no need to throw an error here code = ''