mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Add ability to filter builds by "active" status
This commit is contained in:
parent
11a17fb9b1
commit
b8509f7533
@ -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)
|
||||
|
@ -80,8 +80,8 @@ loadSimplePartTable("#bom-invalid-table", "{% url 'api-part-list' %}", {
|
||||
loadBuildTable("#build-pending-table", {
|
||||
url: "{% url 'api-build-list' %}",
|
||||
params: {
|
||||
"part_detail": true,
|
||||
"status": "10-20",
|
||||
part_detail: true,
|
||||
active: true,
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -109,7 +109,10 @@ function getAvailableTableFilters(tableKey) {
|
||||
title: '{% trans "Build status" %}',
|
||||
options: buildCodes,
|
||||
},
|
||||
|
||||
pending: {
|
||||
type: 'bool',
|
||||
title: '{% trans "Pending" %}',
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user