diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 633f46d6e7..3cbe15d133 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -1081,6 +1081,14 @@ class BomFilter(rest_filters.FilterSet): inherited = rest_filters.BooleanFilter(label='BOM line is inherited') allow_variants = rest_filters.BooleanFilter(label='Variants are allowed') + # Filters for linked 'part' + part_active = rest_filters.BooleanFilter(label='Master part is active', field_name='part__active') + part_trackable = rest_filters.BooleanFilter(label='Master part is trackable', field_name='part__trackable') + + # Filters for linked 'sub_part' + sub_part_trackable = rest_filters.BooleanFilter(label='Sub part is trackable', field_name='sub_part__trackable') + sub_part_assembly = rest_filters.BooleanFilter(label='Sub part is an assembly', field_name='sub_part__assembly') + validated = rest_filters.BooleanFilter(label='BOM line has been validated', method='filter_validated') def filter_validated(self, queryset, name, value): @@ -1099,14 +1107,6 @@ class BomFilter(rest_filters.FilterSet): return queryset - # Filters for linked 'part' - part_active = rest_filters.BooleanFilter(label='Master part is active', field_name='part__active') - part_trackable = rest_filters.BooleanFilter(label='Master part is trackable', field_name='part__trackable') - - # Filters for linked 'sub_part' - sub_part_trackable = rest_filters.BooleanFilter(label='Sub part is trackable', field_name='sub_part__trackable') - sub_part_assembly = rest_filters.BooleanFilter(label='Sub part is an assembly', field_name='sub_part__assembly') - class BomList(generics.ListCreateAPIView): """ diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index ba38ffa879..99f531306f 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -925,7 +925,14 @@ class BomItemTest(InvenTreeAPITestCase): expected_code=200 ) - print("results:", len(response.data)) + # Filter by "validated" + response = self.get( + url, + data={ + 'validated': True, + }, + expected_code=200, + ) def test_get_bom_detail(self): """