2
0
mirror of https://github.com/inventree/InvenTree.git synced 2026-02-06 05:15:52 +00:00

[API] BOM active filter (#11242)

* Add 'sub_part_active' filter for BOM list

* Add UI filter

* Bump API version
This commit is contained in:
Oliver
2026-02-03 09:11:57 +11:00
committed by GitHub
parent 619da6e619
commit 05b8c812f5
3 changed files with 19 additions and 7 deletions

View File

@@ -1,11 +1,14 @@
"""InvenTree API version information.""" """InvenTree API version information."""
# InvenTree API version # InvenTree API version
INVENTREE_API_VERSION = 446 INVENTREE_API_VERSION = 447
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about.""" """Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
INVENTREE_API_TEXT = """ INVENTREE_API_TEXT = """
v447 -> 2026-02-02 : https://github.com/inventree/InvenTree/pull/11242
- Adds "sub_part_active" filter to BomItem API endpoint
v446 -> 2026-02-01 : https://github.com/inventree/InvenTree/pull/11232 v446 -> 2026-02-01 : https://github.com/inventree/InvenTree/pull/11232
- Allow ordering of test results by started_datetime and finished_datetime fields - Allow ordering of test results by started_datetime and finished_datetime fields
- Allow ordering of test results by test_station field - Allow ordering of test results by test_station field

View File

@@ -1247,11 +1247,11 @@ class BomFilter(FilterSet):
# Filters for linked 'part' # Filters for linked 'part'
part_active = rest_filters.BooleanFilter( part_active = rest_filters.BooleanFilter(
label='Assembly part is active', field_name='part__active' label=_('Assembly part is active'), field_name='part__active'
) )
part_trackable = rest_filters.BooleanFilter( part_trackable = rest_filters.BooleanFilter(
label='Assembly part is trackable', field_name='part__trackable' label=_('Assembly part is trackable'), field_name='part__trackable'
) )
part_testable = rest_filters.BooleanFilter( part_testable = rest_filters.BooleanFilter(
@@ -1259,8 +1259,12 @@ class BomFilter(FilterSet):
) )
# Filters for linked 'sub_part' # Filters for linked 'sub_part'
sub_part_active = rest_filters.BooleanFilter(
label=_('Component part is active'), field_name='sub_part__active'
)
sub_part_trackable = rest_filters.BooleanFilter( sub_part_trackable = rest_filters.BooleanFilter(
label='Component part is trackable', field_name='sub_part__trackable' label=_('Component part is trackable'), field_name='sub_part__trackable'
) )
sub_part_testable = rest_filters.BooleanFilter( sub_part_testable = rest_filters.BooleanFilter(
@@ -1268,15 +1272,15 @@ class BomFilter(FilterSet):
) )
sub_part_assembly = rest_filters.BooleanFilter( sub_part_assembly = rest_filters.BooleanFilter(
label='Component part is an assembly', field_name='sub_part__assembly' label=_('Component part is an assembly'), field_name='sub_part__assembly'
) )
sub_part_virtual = rest_filters.BooleanFilter( sub_part_virtual = rest_filters.BooleanFilter(
label='Component part is virtual', field_name='sub_part__virtual' label=_('Component part is virtual'), field_name='sub_part__virtual'
) )
available_stock = rest_filters.BooleanFilter( available_stock = rest_filters.BooleanFilter(
label='Has available stock', method='filter_available_stock' label=_('Has available stock'), method='filter_available_stock'
) )
def filter_available_stock(self, queryset, name, value): def filter_available_stock(self, queryset, name, value):

View File

@@ -425,6 +425,11 @@ export function BomTable({
label: t`Trackable Part`, label: t`Trackable Part`,
description: t`Show trackable items` description: t`Show trackable items`
}, },
{
name: 'sub_part_active',
label: t`Active Part`,
description: t`Show active items`
},
{ {
name: 'sub_part_assembly', name: 'sub_part_assembly',
label: t`Assembled Part`, label: t`Assembled Part`,