From 0febc37237ad6c8c4840ed75e09c35d52b8a34be Mon Sep 17 00:00:00 2001 From: Rasmus Fuhse <fuhse@data-quest.de> Date: Thu, 25 Jan 2024 13:24:38 +0000 Subject: [PATCH] Draft: Resolve "Unterveranstaltungen lassen sich eventuell nicht finden" Closes #3670 Merge request studip/studip!2549 --- app/controllers/admin/courses.php | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/courses.php b/app/controllers/admin/courses.php index e822eab1477..aa56bfbad73 100644 --- a/app/controllers/admin/courses.php +++ b/app/controllers/admin/courses.php @@ -393,14 +393,27 @@ class Admin_CoursesController extends AuthenticatedController $activated_fields = $this->getFilterConfig(); $GLOBALS['user']->cfg->store('MY_COURSES_ACTION_AREA', Request::option('action')); + $course_ids = []; foreach ($courses as $course) { if ($course->parent && !Request::option('course_id')) { - $data['data'][] = $this->getCourseData($course->parent, $activated_fields); - $data['data'][] = $this->getCourseData($course, $activated_fields); + if (!in_array($course->parent->id, $course_ids)) { + $data['data'][] = $this->getCourseData($course->parent, $activated_fields); + $course_ids[] = $course->parent->id; + } + if (!in_array($course->id, $course_ids)) { + $data['data'][] = $this->getCourseData($course, $activated_fields); + $course_ids[] = $course->id; + } } else { - $data['data'][] = $this->getCourseData($course, $activated_fields); + if (!in_array($course->id, $course_ids)) { + $data['data'][] = $this->getCourseData($course, $activated_fields); + $course_ids[] = $course->id; + } foreach ($course->children as $childcourse) { - $data['data'][] = $this->getCourseData($childcourse, $activated_fields); + if (!in_array($childcourse->id, $course_ids)) { + $data['data'][] = $this->getCourseData($childcourse, $activated_fields); + $course_ids[] = $childcourse->id; + } } } } -- GitLab