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 django.conf.urls import url, include
|
||||||
|
|
||||||
from InvenTree.helpers import str2bool
|
from InvenTree.helpers import str2bool
|
||||||
|
from InvenTree.status_codes import BuildStatus
|
||||||
|
|
||||||
from .models import Build, BuildItem
|
from .models import Build, BuildItem
|
||||||
from .serializers import BuildSerializer, BuildItemSerializer
|
from .serializers import BuildSerializer, BuildItemSerializer
|
||||||
@ -59,10 +60,18 @@ class BuildList(generics.ListCreateAPIView):
|
|||||||
status = self.request.query_params.get('status', None)
|
status = self.request.query_params.get('status', None)
|
||||||
|
|
||||||
if status is not None:
|
if status is not None:
|
||||||
# Get status codes
|
queryset = queryset.filter(status=status)
|
||||||
codes = status.split('-')
|
|
||||||
# Filter by codes
|
# Filter by "active" status
|
||||||
queryset = queryset.filter(status__in=codes)
|
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?
|
# Filter by associated part?
|
||||||
part = self.request.query_params.get('part', None)
|
part = self.request.query_params.get('part', None)
|
||||||
|
@ -80,8 +80,8 @@ loadSimplePartTable("#bom-invalid-table", "{% url 'api-part-list' %}", {
|
|||||||
loadBuildTable("#build-pending-table", {
|
loadBuildTable("#build-pending-table", {
|
||||||
url: "{% url 'api-build-list' %}",
|
url: "{% url 'api-build-list' %}",
|
||||||
params: {
|
params: {
|
||||||
"part_detail": true,
|
part_detail: true,
|
||||||
"status": "10-20",
|
active: true,
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -109,7 +109,10 @@ function getAvailableTableFilters(tableKey) {
|
|||||||
title: '{% trans "Build status" %}',
|
title: '{% trans "Build status" %}',
|
||||||
options: buildCodes,
|
options: buildCodes,
|
||||||
},
|
},
|
||||||
|
pending: {
|
||||||
|
type: 'bool',
|
||||||
|
title: '{% trans "Pending" %}',
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user