From cf22cb99fecfd1064e64f81c659af60159d17184 Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Fri, 20 Sep 2024 06:26:00 +0000 Subject: [PATCH] remove faulty additional field and access to it, fixes #4620 Closes #4620 Merge request studip/studip!3431 --- lib/classes/InstituteCalendarHelper.php | 14 +++++++------- lib/classes/globalsearch/GlobalSearchCourses.php | 2 +- lib/models/Course.php | 2 -- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/lib/classes/InstituteCalendarHelper.php b/lib/classes/InstituteCalendarHelper.php index 6c934b4968b..95e9e8d5ad6 100644 --- a/lib/classes/InstituteCalendarHelper.php +++ b/lib/classes/InstituteCalendarHelper.php @@ -589,7 +589,7 @@ class InstituteCalendarHelper * * @return string enriched course info string for tooltip */ - private static function getCycleInfos($course, $cycle_date) + private static function getCycleInfos(Course $course, $cycle_date) { $info_string = $course->getFullName('number-name') . "\n"; @@ -615,20 +615,20 @@ class InstituteCalendarHelper if ($course->getSemClass()->offsetGet('module')) { $mvv_pathes = []; - $course_start = $course->start_time; - $course_end = ($course->end_time < 0 || is_null($course->end_time)) - ? PHP_INT_MAX - : $course->end_time; // set filter to show only pathes with valid semester data ModuleManagementModelTreeItem::setObjectFilter('Modul', - function ($modul) use ($course_start, $course_end) { + function ($modul) use ($course) { // check for public status if (!$GLOBALS['MVV_MODUL']['STATUS']['values'][$modul->stat]['public']) { return false; } $modul_start = Semester::find($modul->start)->beginn ?: 0; $modul_end = Semester::find($modul->end)->ende ?: PHP_INT_MAX; - return ($modul_start <= $course_end && $modul_end >= $course_start); + return $modul_end >= $course->start_semester->beginn + && ( + $course->isOpenEnded() + || $modul_start <= $course->end_semester->ende + ); } ); diff --git a/lib/classes/globalsearch/GlobalSearchCourses.php b/lib/classes/globalsearch/GlobalSearchCourses.php index 6359e8a6cb2..c51566d20cf 100644 --- a/lib/classes/globalsearch/GlobalSearchCourses.php +++ b/lib/classes/globalsearch/GlobalSearchCourses.php @@ -168,7 +168,7 @@ class GlobalSearchCourses extends GlobalSearchModule implements GlobalSearchFull }); } $result_children = []; - foreach($visibleChildren as $child) { + foreach ($visibleChildren as $child) { $result_children[] = self::filter($child, $search); } diff --git a/lib/models/Course.php b/lib/models/Course.php index d736725d17b..cb94bbc5434 100644 --- a/lib/models/Course.php +++ b/lib/models/Course.php @@ -71,7 +71,6 @@ * @property SimpleORMapCollection|Institute[] $institutes has_and_belongs_to_many Institute * @property SimpleORMapCollection|UserDomain[] $domains has_and_belongs_to_many UserDomain * @property-read mixed $teachers additional field - * @property mixed $end_time additional field * @property mixed $start_semester additional field * @property mixed $end_semester additional field * @property-read mixed $semester_text additional field @@ -273,7 +272,6 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe $config['additional_fields']['teachers'] = [ 'get' => 'getTeachers' ]; - $config['additional_fields']['end_time'] = true; $config['additional_fields']['start_semester'] = [ 'get' => 'getStartSemester', -- GitLab