Skip to content
Snippets Groups Projects
Commit bdd7f99a authored by Rasmus Fuhse's avatar Rasmus Fuhse Committed by David Siegfried
Browse files

Resolve "Darstellungsfilter im Adminbereich für Veranstaltungen um Einrichtung erweitern"

Closes #695

Merge request studip/studip!358
parent bde0ce95
Branches
No related tags found
No related merge requests found
...@@ -544,6 +544,10 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -544,6 +544,10 @@ class Admin_CoursesController extends AuthenticatedController
$row['semester'] = $course->semester_text; $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 (PluginManager::getInstance()->getPlugins('AdminCourseContents') as $plugin) {
foreach ($plugin->adminAvailableContents() as $index => $label) { foreach ($plugin->adminAvailableContents() as $index => $label) {
if (in_array($plugin->getPluginId() . "_" . $index, $filter_config)) { if (in_array($plugin->getPluginId() . "_" . $index, $filter_config)) {
...@@ -1097,6 +1101,7 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -1097,6 +1101,7 @@ class Admin_CoursesController extends AuthenticatedController
'type' => _('Veranstaltungstyp'), 'type' => _('Veranstaltungstyp'),
'room_time' => _('Raum/Zeit'), 'room_time' => _('Raum/Zeit'),
'semester' => _('Semester'), 'semester' => _('Semester'),
'institute' => _('Einrichtung'),
'requests' => _('Raumanfragen'), 'requests' => _('Raumanfragen'),
'teachers' => _('Lehrende'), 'teachers' => _('Lehrende'),
'members' => _('Teilnehmende'), 'members' => _('Teilnehmende'),
...@@ -1217,6 +1222,8 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -1217,6 +1222,8 @@ class Admin_CoursesController extends AuthenticatedController
} }
if ($params['sortby'] === "status") { if ($params['sortby'] === "status") {
$filter->orderBy(sprintf('sem_classes.name %s, sem_types.name %s, VeranstaltungsNummer', $params['sortFlag'], $params['sortFlag'], $params['sortFlag']), $params['sortFlag']); $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']) { } elseif ($params['sortby']) {
$filter->orderBy($params['sortby'], $params['sortFlag']); $filter->orderBy($params['sortby'], $params['sortFlag']);
} }
......
...@@ -89,6 +89,11 @@ if (!$values['parent_course'] || !in_array($values['parent_course'], array_keys( ...@@ -89,6 +89,11 @@ if (!$values['parent_course'] || !in_array($values['parent_course'], array_keys(
<?= htmlReady($course->semester_text) ?> <?= htmlReady($course->semester_text) ?>
</td> </td>
<? endif?> <? endif?>
<? if (in_array('institute', $view_filter)) : ?>
<td>
<?= htmlReady($course->home_institut ? $course->home_institut['name'] : $course['institute']) ?>
</td>
<? endif?>
<? if (in_array('requests', $view_filter)) : ?> <? if (in_array('requests', $view_filter)) : ?>
<td style="text-align: center;"> <td style="text-align: center;">
<a title="<?=_('Raumanfragen')?>" href="<?= URLHelper::getLink('dispatch.php/course/room_requests', ['cid' => $semid])?>"> <a title="<?=_('Raumanfragen')?>" href="<?= URLHelper::getLink('dispatch.php/course/room_requests', ['cid' => $semid])?>">
......
...@@ -22,11 +22,15 @@ ...@@ -22,11 +22,15 @@
<? $colspan++ ?> <? $colspan++ ?>
<col width="30%"> <col width="30%">
<? endif ?> <? endif ?>
<? if (in_array('semester', $view_filter)) : ?> <? if (in_array('semester', $view_filter)) : ?>
<? $colspan++ ?> <? $colspan++ ?>
<col width="10%"> <col width="10%">
<? endif ?> <? endif ?>
<? if (in_array('requests', $view_filter)) : ?> <? if (in_array('institute', $view_filter)) : ?>
<? $colspan++ ?>
<col width="10%">
<? endif ?>
<? if (in_array('requests', $view_filter)) : ?>
<? $colspan++ ?> <? $colspan++ ?>
<col width="5%"> <col width="5%">
<? endif ?> <? endif ?>
...@@ -125,6 +129,13 @@ ...@@ -125,6 +129,13 @@
</a> </a>
</th> </th>
<? endif ?> <? endif ?>
<? if (in_array('institute', $view_filter)) : ?>
<th <?= ($sortby == 'institute') ? sprintf('class="sort%s"', mb_strtolower($sortFlag)) : '' ?>>
<a href="<?= URLHelper::getLink('', ['sortby' => 'institute', 'sortFlag' => mb_strtolower($sortFlag)]) ?>">
<?= _('Einrichtung') ?>
</a>
</th>
<? endif ?>
<? if (in_array('requests', $view_filter)) : ?> <? if (in_array('requests', $view_filter)) : ?>
<th <?= ($sortby == 'requests') ? sprintf('class="sort%s"', mb_strtolower($sortFlag)) : '' ?>> <th <?= ($sortby == 'requests') ? sprintf('class="sort%s"', mb_strtolower($sortFlag)) : '' ?>>
<a href="<?= <a href="<?=
......
...@@ -323,7 +323,7 @@ class AdminCourseFilter ...@@ -323,7 +323,7 @@ class AdminCourseFilter
if (!in_array($flag, words('ASC DESC'))) { if (!in_array($flag, words('ASC DESC'))) {
throw new Exception("Sortierreihenfolge undefiniert."); throw new Exception("Sortierreihenfolge undefiniert.");
} }
if (in_array($attribute, words('VeranstaltungsNummer Name status teilnehmer waiting prelim requests completion start_time'))) { if (in_array($attribute, words('VeranstaltungsNummer Name status teilnehmer waiting prelim requests completion start_time Institute.Name'))) {
$this->settings['query']['orderby'] = $attribute . ' ' . $flag; $this->settings['query']['orderby'] = $attribute . ' ' . $flag;
} }
return $this; return $this;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment