From a15c063cfdf21b2b7ea91116fc064a31fc7844a9 Mon Sep 17 00:00:00 2001
From: ibooking-sigurd <sigurd.augdal@ibooking.no>
Date: Mon, 19 Apr 2021 13:49:14 +0200
Subject: [PATCH] Rewrite part of the workout-serializer to reduce the
 complexity.

---
 backend/secfit/workouts/serializers.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/backend/secfit/workouts/serializers.py b/backend/secfit/workouts/serializers.py
index a966ed3..5d5a3ce 100644
--- a/backend/secfit/workouts/serializers.py
+++ b/backend/secfit/workouts/serializers.py
@@ -167,8 +167,12 @@ class WorkoutSerializer(serializers.HyperlinkedModelSerializer):
         if "files" in validated_data:
             files_data = validated_data.pop("files")
             files = instance.files
+            handle_workout_files(self, files, files_data)
 
-            for file, file_data in zip(files.all(), files_data):
+        return instance
+
+    def handle_workout_files(self, files, files_data):
+         for file, file_data in zip(files.all(), files_data):
                 file.file = file_data.get("file", file.file)
 
             # If new files have been added, creating new WorkoutFiles
@@ -184,8 +188,6 @@ class WorkoutSerializer(serializers.HyperlinkedModelSerializer):
                 for i in range(len(files_data), len(files.all())):
                     files.all()[i].delete()
 
-        return instance
-
     def get_owner_username(self, obj):
         """Returns the owning user's username
 
-- 
GitLab