From bdd7f99a7cccd11899bdf9ee3ed4328496e66291 Mon Sep 17 00:00:00 2001 From: Rasmus Fuhse Date: Wed, 11 May 2022 09:57:35 +0000 Subject: =?UTF-8?q?Resolve=20"Darstellungsfilter=20im=20Adminbereich=20f?= =?UTF-8?q?=C3=BCr=20Veranstaltungen=20um=20Einrichtung=20erweitern"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #695 Merge request studip/studip!358 --- app/controllers/admin/courses.php | 7 +++++++ app/views/admin/courses/_course.php | 5 +++++ app/views/admin/courses/courses.php | 21 ++++++++++++++++----- lib/classes/AdminCourseFilter.class.php | 2 +- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/app/controllers/admin/courses.php b/app/controllers/admin/courses.php index 3a78126..b0bf9cd 100644 --- a/app/controllers/admin/courses.php +++ b/app/controllers/admin/courses.php @@ -544,6 +544,10 @@ class Admin_CoursesController extends AuthenticatedController $row['semester'] = $course->semester_text; } + if (in_array('institute', $filter_config)) { + $row['institute'] = $course->home_institut ? $course->home_institut['name'] : $course['institute']; + } + foreach (PluginManager::getInstance()->getPlugins('AdminCourseContents') as $plugin) { foreach ($plugin->adminAvailableContents() as $index => $label) { if (in_array($plugin->getPluginId() . "_" . $index, $filter_config)) { @@ -1097,6 +1101,7 @@ class Admin_CoursesController extends AuthenticatedController 'type' => _('Veranstaltungstyp'), 'room_time' => _('Raum/Zeit'), 'semester' => _('Semester'), + 'institute' => _('Einrichtung'), 'requests' => _('Raumanfragen'), 'teachers' => _('Lehrende'), 'members' => _('Teilnehmende'), @@ -1217,6 +1222,8 @@ class Admin_CoursesController extends AuthenticatedController } if ($params['sortby'] === "status") { $filter->orderBy(sprintf('sem_classes.name %s, sem_types.name %s, VeranstaltungsNummer', $params['sortFlag'], $params['sortFlag'], $params['sortFlag']), $params['sortFlag']); + } elseif ($params['sortby'] === 'institute') { + $filter->orderBy('Institute.Name', $params['sortFlag']); } elseif ($params['sortby']) { $filter->orderBy($params['sortby'], $params['sortFlag']); } diff --git a/app/views/admin/courses/_course.php b/app/views/admin/courses/_course.php index a0fab91..9632aaa 100644 --- a/app/views/admin/courses/_course.php +++ b/app/views/admin/courses/_course.php @@ -89,6 +89,11 @@ if (!$values['parent_course'] || !in_array($values['parent_course'], array_keys( semester_text) ?> + + + home_institut ? $course->home_institut['name'] : $course['institute']) ?> + + diff --git a/app/views/admin/courses/courses.php b/app/views/admin/courses/courses.php index ca851d0..fab169d 100644 --- a/app/views/admin/courses/courses.php +++ b/app/views/admin/courses/courses.php @@ -22,11 +22,15 @@ - - - - - + + + + + + + + + @@ -125,6 +129,13 @@ + + > + + + + + > settings['query']['orderby'] = $attribute . ' ' . $flag; } return $this; -- cgit v1.0