From c7590745622e98643f4b823544fb59a647abb118 Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Wed, 17 Aug 2022 16:08:00 -0400
Subject: [PATCH] Add missing fields to ShowSerializer, use context for
 updated_by

---
 program/serializers.py | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/program/serializers.py b/program/serializers.py
index 63cfa45a..86149f69 100644
--- a/program/serializers.py
+++ b/program/serializers.py
@@ -366,6 +366,12 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer):
             "updated_at",
             "updated_by",
         )
+        read_only_fields = (
+            "created_at",
+            "created_by",
+            "updated_at",
+            "updated_by",
+        )
 
     def create(self, validated_data):
         """
@@ -380,7 +386,7 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer):
         music_focus = validated_data.pop("music_focus")
         links_data = validated_data.pop("links", [])
 
-        show = Show.objects.create(**validated_data)
+        show = Show.objects.create(**validated_data | self.context)
 
         # Save many-to-many relationships
         show.owners.set(owners)
@@ -433,7 +439,6 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer):
         instance.internal_note = validated_data.get(
             "internal_note", instance.internal_note
         )
-
         instance.owners.set(validated_data.get("owners", instance.owners))
         instance.category.set(validated_data.get("category", instance.category))
         instance.hosts.set(validated_data.get("hosts", instance.hosts))
@@ -443,6 +448,8 @@ class ShowSerializer(serializers.HyperlinkedModelSerializer):
             validated_data.get("music_focus", instance.music_focus)
         )
 
+        instance.updated_by = self.context.get("updated_by")
+
         if instance.links.count() > 0:
             for link in instance.links.all():
                 link.delete(keep_parents=True)
-- 
GitLab