From a8be22e908b4256d3729369027d3e88fba000e2a Mon Sep 17 00:00:00 2001 From: Ron Lucke Date: Tue, 17 Sep 2024 09:40:11 +0000 Subject: Courseware: Arbeitsplatz->Courseware->Meine Veranstaltungen zeigt nur ein Lernmaterial pro VA an Closes #4590 Merge request studip/studip!3402 --- app/controllers/contents/courseware.php | 42 ++++++---------------- app/views/contents/courseware/courses_overview.php | 7 ++-- 2 files changed, 14 insertions(+), 35 deletions(-) diff --git a/app/controllers/contents/courseware.php b/app/controllers/contents/courseware.php index 2a99c08..0337e6a 100644 --- a/app/controllers/contents/courseware.php +++ b/app/controllers/contents/courseware.php @@ -252,37 +252,15 @@ class Contents_CoursewareController extends CoursewareController if ($sem_key !== 'all') { $semester = Semester::find($sem_key); - $courses = $courses->filter(function ($a) use ($semester) { - if ($a->isInSemester($semester)) { - return true; - } - return false; + $courses = $courses->filter(function (Course $course) use ($semester) { + return $course->isInSemester($semester); }); - - $coursewares = []; - - foreach ($courses as $course) { - $element = StructuralElement::getCoursewareCourse($course->id); - if (!$element || !$element->canRead(User::findCurrent())) { - continue; - } - - $element['payload'] = json_decode($element['payload'], true); - $coursewares[] = $element; - } - - if (!$coursewares) { - return []; - } - - return [$semester->id => [ - 'semester_name' => $semester->name, - 'coursewares' => $coursewares - ]]; - } else { - $sem_courses = []; - foreach ($courses as $course) { - $element = StructuralElement::getCoursewareCourse($course->id); + } + $sem_courses = []; + foreach ($courses as $course) { + $units = Unit::findCoursesUnits($course); + foreach ($units as $unit) { + $element = $unit->structural_element; if (!$element || !$element->canRead(User::findCurrent())) { continue; } @@ -296,9 +274,9 @@ class Contents_CoursewareController extends CoursewareController $sem_courses[$end_semester->id]['coursewares'][] = $element; } } - - return $sem_courses; } + + return $sem_courses; } /** diff --git a/app/views/contents/courseware/courses_overview.php b/app/views/contents/courseware/courses_overview.php index f6a3d98..61fba02 100644 --- a/app/views/contents/courseware/courses_overview.php +++ b/app/views/contents/courseware/courses_overview.php @@ -25,7 +25,8 @@
  • getImageUrl() === null) : ?> -
    +
    +
    @@ -36,7 +37,7 @@

    -