2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-18 04:55:44 +00:00

Add ability to filter builds by "active" status

This commit is contained in:
Oliver Walters
2020-09-19 20:42:20 +10:00
parent 11a17fb9b1
commit b8509f7533
3 changed files with 19 additions and 7 deletions

View File

@ -12,6 +12,7 @@ from rest_framework import generics, permissions
from django.conf.urls import url, include
from InvenTree.helpers import str2bool
from InvenTree.status_codes import BuildStatus
from .models import Build, BuildItem
from .serializers import BuildSerializer, BuildItemSerializer
@ -59,10 +60,18 @@ class BuildList(generics.ListCreateAPIView):
status = self.request.query_params.get('status', None)
if status is not None:
# Get status codes
codes = status.split('-')
# Filter by codes
queryset = queryset.filter(status__in=codes)
queryset = queryset.filter(status=status)
# Filter by "active" status
active = self.request.query_params.get('active', None)
if active is not None:
active = str2bool(active)
if active:
queryset = queryset.filter(status__in=BuildStatus.ACTIVE_CODES)
else:
queryset = queryset.exclude(status__in=BuildStatus.ACTIVE_CODES)
# Filter by associated part?
part = self.request.query_params.get('part', None)