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')