From 04043ccebb6faba559a1d7148178e73fdd648648 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Simon=20K=C3=BCnzel?= <simonk@fsmpi.rwth-aachen.de>
Date: Sun, 9 Feb 2025 23:51:16 +0100
Subject: [PATCH] Fix missing error when changing deletion status of object to
 already set value

---
 src/videoag_common/api_object/object_class.py | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/videoag_common/api_object/object_class.py b/src/videoag_common/api_object/object_class.py
index 672560d..dc1e7cf 100644
--- a/src/videoag_common/api_object/object_class.py
+++ b/src/videoag_common/api_object/object_class.py
@@ -541,11 +541,11 @@ class ApiObjectClass:
         session.flush()
         return obj.id
     
-    def set_deletion(self,
-                     session: SessionDb,
-                     modifying_user_id: int,
-                     object_id: int,
-                     new_deleted: bool):
+    def modify_deletion_state(self,
+                              session: SessionDb,
+                              modifying_user_id: int,
+                              object_id: int,
+                              new_deleted: bool):
         if not self.enable_config:
             raise Exception("Config not enabled")
         if not self.is_deletion_allowed():
@@ -563,6 +563,8 @@ class ApiObjectClass:
         obj = session.scalar(query)
         if obj is None:
             raise ApiClientException(ERROR_UNKNOWN_OBJECT)
+        if obj.deleted == new_deleted:
+            raise ApiClientException(ERROR_OBJECT_ERROR("Object is already deleted" if new_deleted else "Object is not deleted"))
         obj.deleted = new_deleted
         from videoag_common.objects import ChangelogDeletionChangeEntry
         session.add(ChangelogDeletionChangeEntry(
-- 
GitLab