diff --git a/src/backend/InvenTree/common/models.py b/src/backend/InvenTree/common/models.py index 7ee07f7175..d60f384fb6 100644 --- a/src/backend/InvenTree/common/models.py +++ b/src/backend/InvenTree/common/models.py @@ -2631,7 +2631,7 @@ class Parameter( from plugin import PluginMixinEnum, registry for plugin in registry.with_mixin(PluginMixinEnum.VALIDATION): - # Note: The validate_part_parameter function may raise a ValidationError + # Note: The validate_parameter function may raise a ValidationError try: if hasattr(plugin, 'validate_parameter'): result = plugin.validate_parameter(self, self.data) diff --git a/src/backend/InvenTree/part/test_api.py b/src/backend/InvenTree/part/test_api.py index caf0060493..e0f248e866 100644 --- a/src/backend/InvenTree/part/test_api.py +++ b/src/backend/InvenTree/part/test_api.py @@ -236,9 +236,7 @@ class PartCategoryAPITest(InvenTreeAPITestCase): n = ParameterTemplate.objects.count() # Ensure validation of parameter values is disabled for these checks - InvenTreeSetting.set_setting( - 'PART_PARAMETER_ENFORCE_UNITS', False, change_user=None - ) + InvenTreeSetting.set_setting('PARAMETER_ENFORCE_UNITS', False, change_user=None) for template in ParameterTemplate.objects.all(): response = self.post( diff --git a/src/backend/InvenTree/part/test_param.py b/src/backend/InvenTree/part/test_param.py index ae0ecc14b1..2e77055ec0 100644 --- a/src/backend/InvenTree/part/test_param.py +++ b/src/backend/InvenTree/part/test_param.py @@ -252,9 +252,7 @@ class ParameterTests(TestCase): raise ValueError('This test must be refactored...') # Disable enforcing of part parameter units - InvenTreeSetting.set_setting( - 'PART_PARAMETER_ENFORCE_UNITS', False, change_user=None - ) + InvenTreeSetting.set_setting('PARAMETER_ENFORCE_UNITS', False, change_user=None) # Invalid units also pass, but will be converted to the template units for value in bad_values: @@ -262,9 +260,7 @@ class ParameterTests(TestCase): param.full_clean() # Enable enforcing of part parameter units - InvenTreeSetting.set_setting( - 'PART_PARAMETER_ENFORCE_UNITS', True, change_user=None - ) + InvenTreeSetting.set_setting('PARAMETER_ENFORCE_UNITS', True, change_user=None) for value in bad_values: param = Parameter(content_object=prt, template=template, data=value) diff --git a/src/backend/InvenTree/report/templatetags/report.py b/src/backend/InvenTree/report/templatetags/report.py index 146bcd6539..0c1dcab6e6 100644 --- a/src/backend/InvenTree/report/templatetags/report.py +++ b/src/backend/InvenTree/report/templatetags/report.py @@ -353,6 +353,15 @@ def parameter( ) +@register.simple_tag() +def part_parametr(instance, parameter_name): + """Included for backwards compatibility - use 'parameter' tag instead. + + Ref: https://github.com/inventree/InvenTree/pull/10699 + """ + return parameter(instance, parameter_name) + + @register.simple_tag() def company_image( company: Company, preview: bool = False, thumbnail: bool = False, **kwargs diff --git a/src/backend/InvenTree/report/test_tags.py b/src/backend/InvenTree/report/test_tags.py index d5ca46e4a0..1988e43cb9 100644 --- a/src/backend/InvenTree/report/test_tags.py +++ b/src/backend/InvenTree/report/test_tags.py @@ -12,7 +12,7 @@ from django.utils.safestring import SafeString from djmoney.money import Money from PIL import Image -from common.models import InvenTreeSetting +from common.models import InvenTreeSetting, Parameter, ParameterTemplate from InvenTree.config import get_testfolder_dir from InvenTree.unit_test import InvenTreeTestCase from part.models import Part # TODO fix import: PartParameter, PartParameterTemplate @@ -406,16 +406,16 @@ class ReportTagTest(PartImageTestMixin, InvenTreeTestCase): def test_part_parameter(self): """Test the part_parameter template tag.""" - # TODO fix import: PartParameter, PartParameterTemplate - # # Test with a valid part - # part = Part.objects.create(name='test', description='test') - # t1 = PartParameterTemplate.objects.create(name='Template 1', units='mm') - # parameter = PartParameter.objects.create(part=part, template=t1, data='test') + # Test with a valid part + part = Part.objects.create(name='test', description='test') + t1 = ParameterTemplate.objects.create(name='Template 1', units='mm') + parameter = Parameter.objects.create(part=part, template=t1, data='test') - # self.assertEqual(report_tags.part_parameter(part, 'name'), None) - # self.assertEqual(report_tags.part_parameter(part, 'Template 1'), parameter) - # # Test with an invalid part - # self.assertEqual(report_tags.part_parameter(None, 'name'), None) + # Note, use the 'parameter' and 'part_parameter' tags interchangeably here + self.assertEqual(report_tags.part_parameter(part, 'name'), None) + self.assertEqual(report_tags.parameter(part, 'Template 1'), parameter) + # Test with an invalid part + self.assertEqual(report_tags.parameter(None, 'name'), None) def test_render_currency(self): """Test the render_currency template tag."""