aboutsummaryrefslogtreecommitdiff
path: root/lib/models/Course.class.php
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2023-06-09 08:00:50 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2023-06-09 08:00:50 +0000
commitec43f9bf751f22d391fb3a5014905667ba00e158 (patch)
treeca8fd49823c2d209c7c44e1409dad3efd4aedf7b /lib/models/Course.class.php
parent7e01741c2c83c50ffa828535b7f4cfb24ef39a24 (diff)
allow grouping by mvv module, fixes #1498
Closes #1498 Merge request studip/studip!950
Diffstat (limited to 'lib/models/Course.class.php')
-rw-r--r--lib/models/Course.class.php22
1 files changed, 21 insertions, 1 deletions
diff --git a/lib/models/Course.class.php b/lib/models/Course.class.php
index 2d48549..86e9a47 100644
--- a/lib/models/Course.class.php
+++ b/lib/models/Course.class.php
@@ -288,6 +288,27 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
return null;
}
+
+ /**
+ * Returns the associated mvv modules for a given course id.
+ *
+ * @param string $course_id
+ * @return Modul[]
+ */
+ public static function getMVVModulesForCourseId(string $course_id): array
+ {
+ $query = "SELECT mvv_modul.*
+ FROM mvv_lvgruppe_seminar
+ JOIN `mvv_lvgruppe` on(`mvv_lvgruppe_seminar`.`lvgruppe_id` = `mvv_lvgruppe`.`lvgruppe_id`)
+ JOIN `mvv_lvgruppe_modulteil` on(`mvv_lvgruppe_seminar`.`lvgruppe_id` = `mvv_lvgruppe_modulteil`.`lvgruppe_id`)
+ JOIN `mvv_modulteil` on(`mvv_lvgruppe_modulteil`.`modulteil_id` = `mvv_modulteil`.`modulteil_id`)
+ JOIN `mvv_modul` on(`mvv_modulteil`.`modul_id` = `mvv_modul`.`modul_id`)
+ WHERE seminar_id = ?";
+ return DBManager::get()->fetchAll($query, [$course_id], function ($row) {
+ return Modul::buildExisting($row);
+ });
+ }
+
public function getEnd_Time()
{
return $this->duration_time == -1 ? -1 : $this->start_time + $this->duration_time;
@@ -1030,7 +1051,6 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
return array_filter($this->tools->getStudipModule());
}
-
/**
* @see Range::__toString()
*/