From d51ac2f5c27e156364dd6e544010cda22c173225 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 18 Mar 2020 22:00:32 +1100 Subject: [PATCH] Save creation user when making a new part via the API --- InvenTree/part/api.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index b55e027152..a121553409 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -126,6 +126,24 @@ class PartList(generics.ListCreateAPIView): serializer_class = part_serializers.PartSerializer + def create(self, request, *args, **kwargs): + """ Override the default 'create' behaviour: + We wish to save the user who created this part! + + Note: Implementation coped 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.save() + + headers = self.get_success_headers(serializer.data) + return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers) + def list(self, request, *args, **kwargs): """ Instead of using the DRF serialiser to LIST,