From fb0eb32d6f2c3a1505bac184f60a2863f2dd1286 Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Wed, 23 Oct 2024 06:56:36 +0000
Subject: [PATCH] remove orphaned entries from etask_assignments, fixes #3971

Closes #3971

Merge request studip/studip!3518
---
 lib/classes/UserManagement.php | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/classes/UserManagement.php b/lib/classes/UserManagement.php
index cda3ada6ef7..ee557d7c723 100644
--- a/lib/classes/UserManagement.php
+++ b/lib/classes/UserManagement.php
@@ -1212,8 +1212,9 @@ class UserManagement
             "DELETE FROM questionnaire_assignments WHERE user_id = ?",
             "DELETE etask_assignment_attempts FROM etask_assignment_attempts LEFT JOIN etask_assignments ea ON (`assignment_id` = ea.id) WHERE ea.range_type = 'user' AND user_id = ?",
             "DELETE etask_responses FROM etask_responses LEFT JOIN etask_assignments ea ON (`assignment_id` = ea.id) WHERE ea.range_type = 'user' AND user_id = ?",
-            "DELETE etask_tasks FROM etask_tasks LEFT JOIN etask_test_tasks tt ON (etask_tasks.id = tt.task_id) LEFT JOIN etask_assignments ea ON (tt.`test_id` = ea.test_id) WHERE ea.range_type = 'user' AND  user_id = ?",
-            "DELETE etask_tests FROM etask_tests LEFT JOIN etask_assignments ea ON (`test_id` = ea.test_id) WHERE ea.range_type = 'user' AND user_id = ?",
+            "DELETE etask_tasks, tt, ea FROM etask_tasks LEFT JOIN etask_test_tasks tt ON (etask_tasks.id = tt.task_id) LEFT JOIN etask_assignments ea ON (tt.`test_id` = ea.test_id) WHERE ea.range_type = 'user' AND  user_id = ?",
+            "DELETE etask_tests, ea FROM etask_tests LEFT JOIN etask_assignments ea ON (`test_id` = ea.test_id) WHERE ea.range_type = 'user' AND user_id = ?",
+            "DELETE FROM etask_assignments WHERE range_type = 'user' AND range_id = ?",
 
             "UPDATE forum_entries SET author = '' WHERE user_id = ?",
             "UPDATE auth_user_md5 SET visible = 'never' WHERE user_id = ?",
-- 
GitLab