From 33401cb207b4890aab193f35fbd2e2888c07c84c Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Mon, 18 Apr 2022 22:34:00 +1000 Subject: [PATCH] Adds ability to filter stockitem list by "has_batch" parmeter --- InvenTree/InvenTree/version.py | 5 ++++- InvenTree/stock/api.py | 14 ++++++++++++++ InvenTree/templates/js/translated/table_filters.js | 4 ++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index 32f359f5f2..86242c65af 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 = 38 +INVENTREE_API_VERSION = 39 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v39 -> 2022-04-18 + - Adds ability to filter StockItem list by "has_batch" parameter + v38 -> 2022-04-14 : https://github.com/inventree/InvenTree/pull/2828 - Adds the ability to include stock test results for "installed items" diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 15ddfd9c07..2b35eff103 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -410,6 +410,20 @@ class StockFilter(rest_filters.FilterSet): return queryset + has_batch = rest_filters.BooleanFilter(label='Has batch code', method='filter_has_batch') + + def filter_has_batch(self, queryset, name, value): + """ + Filter by whether the StockItem has a batch code (or not) + """ + + if str2bool(value): + queryset = queryset.exclude(batch=None) + else: + queryset = queryset.filter(batch=None) + + return queryset + installed = rest_filters.BooleanFilter(label='Installed in other stock item', method='filter_installed') def filter_installed(self, queryset, name, value): diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index 8eca911f08..303d484788 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -234,6 +234,10 @@ function getAvailableTableFilters(tableKey) { title: '{% trans "Stock status" %}', description: '{% trans "Stock status" %}', }, + has_batch: { + title: '{% trans "Has batch code" %}', + type: 'bool', + }, batch: { title: '{% trans "Batch" %}', description: '{% trans "Batch code" %}',