diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 2ca9dd31dc..806acd0ccc 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -20,6 +20,7 @@ from InvenTree.status_codes import BuildStatus from .models import Build, BuildItem, BuildOrderAttachment from .serializers import BuildAttachmentSerializer, BuildCompleteSerializer, BuildSerializer, BuildItemSerializer from .serializers import BuildAllocationSerializer, BuildUnallocationSerializer +from users.models import Owner class BuildFilter(rest_filters.FilterSet): @@ -51,6 +52,25 @@ class BuildFilter(rest_filters.FilterSet): return queryset + assigned_to_me = rest_filters.BooleanFilter(label='assigned_to_me', method='filter_assigned_to_me') + + def filter_assigned_to_me(self, queryset, name, value): + """ + Filter by orders which are assigned to the current user + """ + + value = str2bool(value) + + # Work out who "me" is! + owners = Owner.get_owners_matching_user(self.request.user) + + if value: + queryset = queryset.filter(responsible__in=owners) + else: + queryset = queryset.exclude(responsible__in=owners) + + return queryset + class BuildList(generics.ListCreateAPIView): """ API endpoint for accessing a list of Build objects. diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index dbc1140214..c1b86b6528 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -583,6 +583,8 @@ class PartFilter(rest_filters.FilterSet): active = rest_filters.BooleanFilter() + virtual = rest_filters.BooleanFilter() + class PartList(generics.ListCreateAPIView): """ diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index 02b2ff5321..0deec4f859 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -34,7 +34,12 @@ function buildFormFields() { reference: { prefix: global_settings.BUILDORDER_REFERENCE_PREFIX, }, - part: {}, + part: { + filters: { + assembly: true, + virtual: false, + } + }, title: {}, quantity: {}, parent: { diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index ac5331547d..b7ba79e498 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -298,6 +298,10 @@ function getAvailableTableFilters(tableKey) { type: 'bool', title: '{% trans "Overdue" %}', }, + assigned_to_me: { + type: 'bool', + title: '{% trans "Assigned to me" %}', + }, }; }