aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/admin/courses.php
diff options
context:
space:
mode:
authorRasmus Fuhse <fuhse@data-quest.de>2024-01-25 13:24:38 +0000
committerRasmus Fuhse <fuhse@data-quest.de>2024-01-25 13:24:38 +0000
commit0febc37237ad6c8c4840ed75e09c35d52b8a34be (patch)
tree53be6e471c1147fa93bb495a603c93b1fc47a834 /app/controllers/admin/courses.php
parenta09b1b3ee653ca50fc0ec537f89a010a4d08f3a9 (diff)
Draft: Resolve "Unterveranstaltungen lassen sich eventuell nicht finden"issue-3677-2issue-3677
Closes #3670 Merge request studip/studip!2549
Diffstat (limited to 'app/controllers/admin/courses.php')
-rw-r--r--app/controllers/admin/courses.php21
1 files changed, 17 insertions, 4 deletions
diff --git a/app/controllers/admin/courses.php b/app/controllers/admin/courses.php
index e822eab..aa56bfb 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;
+ }
}
}
}