From d070e85eea387e1b88970d0bde3d1ced5afe84bc Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Fri, 15 Nov 2024 15:30:08 -0400
Subject: [PATCH] fix: set the PlaylistEntry order in the serializer

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

diff --git a/program/serializers.py b/program/serializers.py
index d7cae46..51b27d8 100644
--- a/program/serializers.py
+++ b/program/serializers.py
@@ -1524,7 +1524,9 @@ class PlaylistSerializer(serializers.ModelSerializer):
         with transaction.atomic():
             playlist = Playlist.objects.create(created_by=user.username, **validated_data)
 
-            for entry_data in entries:
+            for order, entry_data in enumerate(entries, start=1):
+                entry_data.update({"order": order})
+
                 try:
                     PlaylistEntry.objects.create(playlist=playlist, **entry_data)
                 except IntegrityError:
@@ -1568,7 +1570,9 @@ class PlaylistSerializer(serializers.ModelSerializer):
                     for entry in instance.entries.all():
                         entry.delete(keep_parents=True)
 
-                for entry_data in validated_data.get("entries"):
+                for order, entry_data in enumerate(validated_data.get("entries"), start=1):
+                    entry_data.update({"order": order})
+
                     try:
                         PlaylistEntry.objects.create(playlist=instance, **entry_data)
                     except IntegrityError:
-- 
GitLab