diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 60e511616a..a7a7955c22 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -665,6 +665,13 @@ class StockList(generics.ListCreateAPIView): active = str2bool(active) queryset = queryset.filter(part__active=active) + # Do we wish to filter by "assembly parts" + assembly = params.get('assembly', None) + + if assembly is not None: + assembly = str2bool(assembly) + queryset = queryset.filter(part__assembly=assembly) + # Filter by 'depleted' status depleted = params.get('depleted', None) diff --git a/InvenTree/templates/js/table_filters.js b/InvenTree/templates/js/table_filters.js index fb76d2731b..ba73244c74 100644 --- a/InvenTree/templates/js/table_filters.js +++ b/InvenTree/templates/js/table_filters.js @@ -96,10 +96,15 @@ function getAvailableTableFilters(tableKey) { title: '{% trans "Active parts" %}', description: '{% trans "Show stock for active parts" %}', }, + assembly: { + type: 'bool', + title: '{% trans "Assembly" %}', + description: '{% trans "Part is an assembly" %}', + }, allocated: { type: 'bool', title: '{% trans "Is allocated" %}', - description: '{% trans "Item has been alloacted" %}', + description: '{% trans "Item has been allocated" %}', }, cascade: { type: 'bool',