From 516a6d9823cc2c066d0be8d97072609b5a34e396 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Fri, 27 Dec 2024 23:26:05 +0000 Subject: [PATCH] Build Order API filter --- src/backend/InvenTree/build/api.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/backend/InvenTree/build/api.py b/src/backend/InvenTree/build/api.py index 8623bd8e8c..9003100ade 100644 --- a/src/backend/InvenTree/build/api.py +++ b/src/backend/InvenTree/build/api.py @@ -34,7 +34,17 @@ class BuildFilter(rest_filters.FilterSet): model = Build fields = ['sales_order'] - status = rest_filters.NumberFilter(label='Status') + status = rest_filters.NumberFilter(label=_('Order Status'), method='filter_status') + + def filter_status(self, queryset, name, value): + """Filter by integer status code. + + Note: Also account for the possibility of a custom status code + """ + q1 = Q(status=value, status_custom_key__isnull=True) + q2 = Q(status_custom_key=value) + + return queryset.filter(q1 | q2).distinct() active = rest_filters.BooleanFilter(label='Build is active', method='filter_active')