Add option to filter out variants in stock table

This commit is contained in:
Oliver Walters 2021-02-21 20:08:23 +11:00
parent b95d6a4ab2
commit dffff89e9d
2 changed files with 15 additions and 3 deletions

View File

@ -684,11 +684,18 @@ class StockList(generics.ListCreateAPIView):
try:
part = Part.objects.get(pk=part_id)
# Do we wish to filter *just* for this part, or also for parts *under* this one?
include_variants = str2bool(params.get('include_variants', True))
if include_variants:
# Filter by any parts "under" the given part
parts = part.get_descendants(include_self=True)
queryset = queryset.filter(part__in=parts)
else:
queryset = queryset.filter(part=part)
except (ValueError, Part.DoesNotExist):
raise ValidationError({"part": "Invalid Part ID specified"})

View File

@ -130,6 +130,11 @@ function getAvailableTableFilters(tableKey) {
title: '{% trans "In Production" %}',
description: '{% trans "Show items which are in production" %}',
},
include_variants: {
type: 'bool',
title: '{% trans "Include Variants" %}',
description: '{% trans "Include stock items for variant parts" %}',
},
installed: {
type: 'bool',
title: '{% trans "Installed" %}',