From 5fc88cf5b6bcbec959db8235b21180bf0bbf08dd Mon Sep 17 00:00:00 2001 From: Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> Date: Mon, 14 Nov 2022 13:42:56 +0000 Subject: [PATCH] apply chdate filter first (and fix the filter so it actually works), fixes #1779 Closes #1779 Merge request studip/studip!1156 --- app/controllers/course/admission.php | 6 +++--- lib/classes/admission/CourseSet.class.php | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/controllers/course/admission.php b/app/controllers/course/admission.php index 8738e60e6b3..1e28002c10a 100644 --- a/app/controllers/course/admission.php +++ b/app/controllers/course/admission.php @@ -82,7 +82,8 @@ class Course_AdmissionController extends AuthenticatedController $this->activated_admission_rules = AdmissionRule::getAvailableAdmissionRules(); if (!$this->current_courseset) { $available_coursesets = new SimpleCollection(); - foreach (CourseSet::getCoursesetsByInstituteId($this->course->institut_id) as $cs) { + $filter = ['course_set_chdate' => strtotime('-1 year')]; + foreach (CourseSet::getCoursesetsByInstituteId($this->course->institut_id, $filter) as $cs) { $cs = new CourseSet($cs['set_id']); if ($cs->isUserAllowedToAssignCourse($this->user_id, $this->course_id)) { $available_coursesets[] = ['id' => $cs->getId(), @@ -91,7 +92,7 @@ class Course_AdmissionController extends AuthenticatedController 'my_own' => $cs->getUserId() === $GLOBALS['user']->id]; } } - foreach (CourseSet::getglobalCoursesets() as $cs) { + foreach (CourseSet::getglobalCoursesets($filter) as $cs) { $cs = new CourseSet($cs['set_id']); if ($cs->isUserAllowedToAssignCourse($this->user_id, $this->course_id)) { $available_coursesets[] = ['id' => $cs->getId(), @@ -100,7 +101,6 @@ class Course_AdmissionController extends AuthenticatedController 'my_own' => $cs->getUserId() === $GLOBALS['user']->id]; } } - $available_coursesets = $available_coursesets->findBy('chdate', strtotime('-1 year'), '>'); $available_coursesets->orderBy('name'); $this->available_coursesets = $available_coursesets; diff --git a/lib/classes/admission/CourseSet.class.php b/lib/classes/admission/CourseSet.class.php index 054c9506479..143f7d86df9 100644 --- a/lib/classes/admission/CourseSet.class.php +++ b/lib/classes/admission/CourseSet.class.php @@ -393,9 +393,9 @@ class CourseSet $query .= " AND s.start_time = ?"; $parameters[] = Semester::find($filter['semester_id'])->beginn; } - if ($filter['course_set_chdate']) { - $query .= " AND c.chdate < ?"; - $parameters[] = $filter['chdate']; + if (!empty($filter['course_set_chdate'])) { + $query .= " AND c.chdate > ?"; + $parameters[] = $filter['course_set_chdate']; } $query .= " ORDER BY c.name"; $stmt = DBManager::get()->prepare($query); @@ -432,9 +432,9 @@ class CourseSet $query .= " AND s.start_time = ?"; $parameters[] = Semester::find($filter['semester_id'])->beginn; } - if ($filter['course_set_chdate']) { - $query .= " AND c.chdate < ?"; - $parameters[] = $filter['chdate']; + if (!empty($filter['course_set_chdate'])) { + $query .= " AND c.chdate > ?"; + $parameters[] = $filter['course_set_chdate']; } $query .= " ORDER BY c.name"; $stmt = DBManager::get()->prepare($query); -- GitLab