diff options
| author | David Siegfried <david.siegfried@uni-vechta.de> | 2023-02-24 15:02:31 +0000 |
|---|---|---|
| committer | David Siegfried <david.siegfried@uni-vechta.de> | 2023-02-24 15:02:31 +0000 |
| commit | b4cddd0fb667295b83a34684f540df0b87dd8d39 (patch) | |
| tree | 9ab9686e16be1f98021a1e3b60d6fdff3151937f /lib/models/Course.class.php | |
| parent | 7125b779505165e7691217d189b9334d3cfc04a3 (diff) | |
display semester of the course in the news-ranges, closes #2213
Closes #2213
Merge request studip/studip!1446
Diffstat (limited to 'lib/models/Course.class.php')
| -rw-r--r-- | lib/models/Course.class.php | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/lib/models/Course.class.php b/lib/models/Course.class.php index d9325b0..d0bc63d 100644 --- a/lib/models/Course.class.php +++ b/lib/models/Course.class.php @@ -545,12 +545,17 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe */ public function getFullname($format = 'default') { - $template['type-name'] = '%2$s: %1$s'; - $template['number-type-name'] = '%3$s %2$s: %1$s'; - $template['type-number-name'] = '%2$s: %3$s %1$s'; - $template['number-name'] = '%3$s %1$s'; - $template['number-name-semester'] = '%3$s %1$s (%4$s)'; - $template['sem-duration-name'] = '%4$s'; + $template = [ + 'name' => '%1$s', + 'name-semester' => '%1$s (%4$s)', + 'number-name' => '%3$s %1$s', + 'number-name-semester' => '%3$s %1$s (%4$s)', + 'number-type-name' => '%3$s %2$s: %1$s', + 'sem-duration-name' => '%4$s', + 'type-name' => '%2$s: %1$s', + 'type-number-name' => '%2$s: %3$s %1$s', + ]; + if ($format === 'default' || !isset($template[$format])) { $format = Config::get()->IMPORTANT_SEMNUMBER ? 'type-number-name' : 'type-name'; } @@ -957,11 +962,14 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe $sql = 'SELECT range_id FROM `deputies` WHERE `deputies`.`user_id` = :user_id'; $seminar_ids = array_merge($seminar_ids, $db->fetchFirst($sql, $sql_params)); } + + $name_sort = Config::get()->IMPORTANT_SEMNUMBER ? 'VeranstaltungsNummer, Name' : 'Name'; + return Course::findBySQL( "LEFT JOIN semester_courses ON (semester_courses.course_id = seminare.Seminar_id) WHERE Seminar_id IN (?) GROUP BY seminare.Seminar_id - ORDER BY IF(semester_courses.semester_id IS NULL, 1, 0) DESC, start_time DESC, Name ASC", + ORDER BY semester_courses.semester_id IS NULL DESC, start_time DESC, {$name_sort}", [$seminar_ids] ); } |
