From 1dafa0c11a0129afd0e9194a56bbeb7b136fbae3 Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Mon, 24 Apr 2023 14:27:34 -0400
Subject: [PATCH] Inject request in the context, use it correctly

---
 program/serializers.py | 4 +++-
 program/views.py       | 5 ++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/program/serializers.py b/program/serializers.py
index f46a5749..49149029 100644
--- a/program/serializers.py
+++ b/program/serializers.py
@@ -260,7 +260,9 @@ class ImageSerializer(serializers.ModelSerializer):
     def create(self, validated_data):
         """Create and return a new Image instance, given the validated data."""
 
-        image = Image.objects.create(owner=self.context.get("request").user, **validated_data)
+        image = Image.objects.create(
+            owner=self.context.get("request").user.username, **validated_data
+        )
         image.save()
 
         return image
diff --git a/program/views.py b/program/views.py
index 25047f81..c4c3ae5b 100644
--- a/program/views.py
+++ b/program/views.py
@@ -313,7 +313,10 @@ class APIImageViewSet(viewsets.ModelViewSet):
     def create(self, request, *args, **kwargs):
         """Create an Image instance. Any user can create an image."""
 
-        serializer = ImageSerializer(data=request.data)
+        serializer = ImageSerializer(
+            context={"request": request},  # the serializer needs the request in the context
+            data=request.data,
+        )
 
         if serializer.is_valid():
             serializer.save()
-- 
GitLab