From 3b1beaa6a2b4f2ec3bfa750a80ec7b22349714b2 Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Wed, 17 Aug 2022 16:10:39 -0400
Subject: [PATCH] Fix update method & add partial_update method to
 APIShowViewSet

---
 program/views.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/program/views.py b/program/views.py
index 7c852a67..875368a2 100644
--- a/program/views.py
+++ b/program/views.py
@@ -315,9 +315,13 @@ class APIShowViewSet(DisabledObjectPermissionCheckMixin, viewsets.ModelViewSet):
         ):
             return Response(status=status.HTTP_401_UNAUTHORIZED)
 
+        partial = kwargs.get("partial", False)
         show = self.get_object()
         serializer = ShowSerializer(
-            show, data=request.data, context={"updated_by": request.user.username}
+            show,
+            data=request.data,
+            context={"updated_by": request.user.username},
+            partial=partial,
         )
 
         if serializer.is_valid():
@@ -329,6 +333,10 @@ class APIShowViewSet(DisabledObjectPermissionCheckMixin, viewsets.ModelViewSet):
 
         return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
 
+    def partial_update(self, request, *args, **kwargs):
+        kwargs["partial"] = True
+        return self.update(request, *args, **kwargs)
+
     def destroy(self, request, *args, **kwargs):
         """
         Only admins may delete shows.
-- 
GitLab