2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-04-28 19:46:46 +00:00

Adds "assigned_to_me" filtering to build orders

This commit is contained in:
Oliver 2021-12-04 21:30:11 +11:00
parent 087ac0bd34
commit 9e1251d78d
4 changed files with 32 additions and 1 deletions

View File

@ -20,6 +20,7 @@ from InvenTree.status_codes import BuildStatus
from .models import Build, BuildItem, BuildOrderAttachment from .models import Build, BuildItem, BuildOrderAttachment
from .serializers import BuildAttachmentSerializer, BuildCompleteSerializer, BuildSerializer, BuildItemSerializer from .serializers import BuildAttachmentSerializer, BuildCompleteSerializer, BuildSerializer, BuildItemSerializer
from .serializers import BuildAllocationSerializer, BuildUnallocationSerializer from .serializers import BuildAllocationSerializer, BuildUnallocationSerializer
from users.models import Owner
class BuildFilter(rest_filters.FilterSet): class BuildFilter(rest_filters.FilterSet):
@ -51,6 +52,25 @@ class BuildFilter(rest_filters.FilterSet):
return queryset 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): class BuildList(generics.ListCreateAPIView):
""" API endpoint for accessing a list of Build objects. """ API endpoint for accessing a list of Build objects.

View File

@ -583,6 +583,8 @@ class PartFilter(rest_filters.FilterSet):
active = rest_filters.BooleanFilter() active = rest_filters.BooleanFilter()
virtual = rest_filters.BooleanFilter()
class PartList(generics.ListCreateAPIView): class PartList(generics.ListCreateAPIView):
""" """

View File

@ -34,7 +34,12 @@ function buildFormFields() {
reference: { reference: {
prefix: global_settings.BUILDORDER_REFERENCE_PREFIX, prefix: global_settings.BUILDORDER_REFERENCE_PREFIX,
}, },
part: {}, part: {
filters: {
assembly: true,
virtual: false,
}
},
title: {}, title: {},
quantity: {}, quantity: {},
parent: { parent: {

View File

@ -298,6 +298,10 @@ function getAvailableTableFilters(tableKey) {
type: 'bool', type: 'bool',
title: '{% trans "Overdue" %}', title: '{% trans "Overdue" %}',
}, },
assigned_to_me: {
type: 'bool',
title: '{% trans "Assigned to me" %}',
},
}; };
} }