Ensure user gets saved when uploading attachment via API

This commit is contained in:
Oliver Walters 2020-05-12 21:11:38 +10:00
parent 5d716d0cdd
commit 2369b40bbf
2 changed files with 10 additions and 11 deletions

View File

@ -296,24 +296,17 @@ class PartList(generics.ListCreateAPIView):
else:
return Response(data)
def create(self, request, *args, **kwargs):
""" Override the default 'create' behaviour:
def perform_create(self, serializer):
"""
We wish to save the user who created this part!
Note: Implementation coped from DRF class CreateModelMixin
Note: Implementation copied from DRF class CreateModelMixin
"""
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
# Record the user who created this Part object
part = serializer.save()
part.creation_user = request.user
part.creation_user = self.request.user
part.save()
headers = self.get_success_headers(serializer.data)
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)
def get_queryset(self, *args, **kwargs):
queryset = super().get_queryset(*args, **kwargs)

View File

@ -663,6 +663,12 @@ class StockAttachmentList(generics.ListCreateAPIView):
'stock_item',
]
def perform_create(self, serializer):
attachment = serializer.save()
attachment.user = self.request.user
attachment.save()
class StockTrackingList(generics.ListCreateAPIView):
""" API endpoint for list view of StockItemTracking objects.