From a8be22e908b4256d3729369027d3e88fba000e2a Mon Sep 17 00:00:00 2001 From: Ron Lucke <lucke@elan-ev.de> Date: Tue, 17 Sep 2024 09:40:11 +0000 Subject: [PATCH] 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 +++++-------------- .../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 2a99c0880fe..0337e6a2fa2 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 f6a3d98816f..61fba028b3d 100644 --- a/app/views/contents/courseware/courses_overview.php +++ b/app/views/contents/courseware/courses_overview.php @@ -25,7 +25,8 @@ <li class="tile <?= htmlReady($element['payload']['color'])?>"> <a href="<?= URLHelper::getLink('dispatch.php/course/courseware/?cid='.$element['range_id'].'#/structural_element/'.$element['id']) ?>"> <? if ($element->getImageUrl() === null) : ?> - <div class="preview-image default-image"></div> + <div class="preview-image default-image" style="<?= Icon::create('courseware')->asCSS(112) ?>"> + </div> <? else : ?> <div class="preview-image" style="background-image: url(<?= htmlReady($element->getImageUrl()) ?>)" ></div> <? endif; ?> @@ -36,7 +37,7 @@ <?= htmlReady($element['payload']['description']) ?> </p> </div> - <footer> + <footer style="margin-top: 24px;"> <?= Icon::create('seminar', Icon::ROLE_INFO_ALT)?> <?= htmlReady($element['course']['name'])?> </footer> </div> @@ -47,4 +48,4 @@ <? endif; ?> <? endforeach; ?> <? endif; ?> -</div> +</div> \ No newline at end of file -- GitLab