From 028366d9e5188eb393b21688cde7d350c2d4cd20 Mon Sep 17 00:00:00 2001 From: Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> Date: Fri, 21 Jan 2022 16:50:24 +0100 Subject: [PATCH] delete course related datafield entries when the user leaves a course, fixes #559 --- app/controllers/my_courses.php | 3 +++ lib/classes/Seminar.class.php | 3 +++ 2 files changed, 6 insertions(+) diff --git a/app/controllers/my_courses.php b/app/controllers/my_courses.php index 4892d54043c..21cde0e1fdb 100644 --- a/app/controllers/my_courses.php +++ b/app/controllers/my_courses.php @@ -561,6 +561,9 @@ class MyCoursesController extends AuthenticatedController // enable others to do something after the user has been deleted NotificationCenter::postNotification('UserDidLeaveCourse', $course_id, $GLOBALS['user']->id); + // Delete course related datafield entries + DatafieldEntryModel::deleteBySQL('range_id = ? AND sec_range_id = ?', [$GLOBALS['user']->id, $course_id]); + // Delete from statusgroups foreach (Statusgruppen::findBySeminar_id($course_id) as $group) { $group->removeUser($GLOBALS['user']->id, true); diff --git a/lib/classes/Seminar.class.php b/lib/classes/Seminar.class.php index 099f1518e11..337eea6fe65 100644 --- a/lib/classes/Seminar.class.php +++ b/lib/classes/Seminar.class.php @@ -2048,6 +2048,9 @@ class Seminar } } + // Delete course related datafield entries + DatafieldEntryModel::deleteBySQL('range_id = ? AND sec_range_id = ?', [$user_id, $this->id]); + // Remove from associated status groups foreach (Statusgruppen::findBySeminar_id($this->id) as $group) { $group->removeUser($user_id, true); -- GitLab