diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index fe28d780c7..0a9d39225b 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -12,11 +12,14 @@ import common.models INVENTREE_SW_VERSION = "0.7.0 dev" # InvenTree API version -INVENTREE_API_VERSION = 35 +INVENTREE_API_VERSION = 36 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v36 -> 2022-04-03 + - Adds ability to filter part list endpoint by unallocated_stock argument + v35 -> 2022-04-01 : https://github.com/inventree/InvenTree/pull/2797 - Adds stock allocation information to the Part API - Adds calculated field for "unallocated_quantity" diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 3a2bb6eeb3..f7bb81520d 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -798,6 +798,20 @@ class PartFilter(rest_filters.FilterSet): return queryset + # unallocated_stock filter + unallocated_stock = rest_filters.BooleanFilter(label='Unallocated stock', method='filter_unallocated_stock') + + def filter_unallocated_stock(self, queryset, name, value): + + value = str2bool(value) + + if value: + queryset = queryset.filter(Q(unallocated_stock__gt=0)) + else: + queryset = queryset.filter(Q(unallocated_stock__lte=0)) + + return queryset + is_template = rest_filters.BooleanFilter() assembly = rest_filters.BooleanFilter() diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index 81d43d2c3f..6212568950 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -427,12 +427,16 @@ function getAvailableTableFilters(tableKey) { }, has_stock: { type: 'bool', - title: '{% trans "Stock available" %}', + title: '{% trans "In stock" %}', }, low_stock: { type: 'bool', title: '{% trans "Low stock" %}', }, + unallocated_stock: { + type: 'bool', + title: '{% trans "Available stock" %}', + }, assembly: { type: 'bool', title: '{% trans "Assembly" %}',