Skip to content
Snippets Groups Projects
Commit b4cddd0f authored by David Siegfried's avatar David Siegfried
Browse files

display semester of the course in the news-ranges, closes #2213

Closes #2213

Merge request studip/studip!1446
parent 7125b779
No related branches found
No related tags found
1 merge request!4Draft: Icon creation
...@@ -167,6 +167,8 @@ class NewsRangesInput extends Input ...@@ -167,6 +167,8 @@ class NewsRangesInput extends Input
return []; return [];
} }
$name_format = \Config::get()->IMPORANT_SEMNUMBER ? 'number-name-semester' : 'name-semester';
$options = []; $options = [];
foreach (\Course::findByUser(\User::findCurrent()->id) as $course) { foreach (\Course::findByUser(\User::findCurrent()->id) as $course) {
if (!\StudipNews::haveRangePermission('edit', $course->id)) { if (!\StudipNews::haveRangePermission('edit', $course->id)) {
...@@ -175,7 +177,7 @@ class NewsRangesInput extends Input ...@@ -175,7 +177,7 @@ class NewsRangesInput extends Input
$options[] = [ $options[] = [
'value' => $course->id . '__seminar', 'value' => $course->id . '__seminar',
'name' => (string) $course->name, 'name' => $course->getFullname($name_format),
]; ];
} }
......
...@@ -545,12 +545,17 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe ...@@ -545,12 +545,17 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe
*/ */
public function getFullname($format = 'default') public function getFullname($format = 'default')
{ {
$template['type-name'] = '%2$s: %1$s'; $template = [
$template['number-type-name'] = '%3$s %2$s: %1$s'; 'name' => '%1$s',
$template['type-number-name'] = '%2$s: %3$s %1$s'; 'name-semester' => '%1$s (%4$s)',
$template['number-name'] = '%3$s %1$s'; 'number-name' => '%3$s %1$s',
$template['number-name-semester'] = '%3$s %1$s (%4$s)'; 'number-name-semester' => '%3$s %1$s (%4$s)',
$template['sem-duration-name'] = '%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])) { if ($format === 'default' || !isset($template[$format])) {
$format = Config::get()->IMPORTANT_SEMNUMBER ? 'type-number-name' : 'type-name'; $format = Config::get()->IMPORTANT_SEMNUMBER ? 'type-number-name' : 'type-name';
} }
...@@ -957,11 +962,14 @@ class Course extends SimpleORMap implements Range, PrivacyObject, StudipItem, Fe ...@@ -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'; $sql = 'SELECT range_id FROM `deputies` WHERE `deputies`.`user_id` = :user_id';
$seminar_ids = array_merge($seminar_ids, $db->fetchFirst($sql, $sql_params)); $seminar_ids = array_merge($seminar_ids, $db->fetchFirst($sql, $sql_params));
} }
$name_sort = Config::get()->IMPORTANT_SEMNUMBER ? 'VeranstaltungsNummer, Name' : 'Name';
return Course::findBySQL( return Course::findBySQL(
"LEFT JOIN semester_courses ON (semester_courses.course_id = seminare.Seminar_id) "LEFT JOIN semester_courses ON (semester_courses.course_id = seminare.Seminar_id)
WHERE Seminar_id IN (?) WHERE Seminar_id IN (?)
GROUP BY seminare.Seminar_id 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] [$seminar_ids]
); );
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment