From 2369b40bbf4df7a1f3a7f00c100e7a22ab6512d3 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Tue, 12 May 2020 21:11:38 +1000 Subject: [PATCH] Ensure user gets saved when uploading attachment via API --- InvenTree/part/api.py | 15 ++++----------- InvenTree/stock/api.py | 6 ++++++ 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 8f9121885d..eb14e93a9a 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -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) diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index a56d4081d0..2c1d4916f6 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -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.