Skip to content
Snippets Groups Projects
Commit 9c060ced authored by André Noack's avatar André Noack
Browse files

Resolve "Verwaltung von Veranstaltungen: Duplikate im Lehrendenfilter"

Closes #4054 and #4107

Merge request studip/studip!2955
parent a54b6f39
No related branches found
No related tags found
No related merge requests found
...@@ -534,6 +534,7 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -534,6 +534,7 @@ class Admin_CoursesController extends AuthenticatedController
'institut_id' => 'MY_INSTITUTES_DEFAULT', 'institut_id' => 'MY_INSTITUTES_DEFAULT',
]; ];
if (!empty($filters['institut_id'])) {
$config->store( $config->store(
'MY_INSTITUTES_INCLUDE_CHILDREN', 'MY_INSTITUTES_INCLUDE_CHILDREN',
str_contains($filters['institut_id'], '_') ? 1 : 0 str_contains($filters['institut_id'], '_') ? 1 : 0
...@@ -541,6 +542,7 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -541,6 +542,7 @@ class Admin_CoursesController extends AuthenticatedController
if ($config->MY_INSTITUTES_INCLUDE_CHILDREN) { if ($config->MY_INSTITUTES_INCLUDE_CHILDREN) {
$filters['institut_id'] = substr($filters['institut_id'], 0, strpos($filters['institut_id'], '_')); $filters['institut_id'] = substr($filters['institut_id'], 0, strpos($filters['institut_id'], '_'));
} }
}
foreach ($mapping as $key => $field) { foreach ($mapping as $key => $field) {
if (isset($filters[$key])) { if (isset($filters[$key])) {
...@@ -1674,6 +1676,8 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -1674,6 +1676,8 @@ class Admin_CoursesController extends AuthenticatedController
if (str_contains($institut_id, '_')) { if (str_contains($institut_id, '_')) {
$institut_id = substr($institut_id, 0, strpos($institut_id, '_')); $institut_id = substr($institut_id, 0, strpos($institut_id, '_'));
} }
$teachers = [];
if ($institut_id) {
$teachers = DBManager::get()->fetchAll(" $teachers = DBManager::get()->fetchAll("
SELECT auth_user_md5.*, user_info.* SELECT auth_user_md5.*, user_info.*
FROM auth_user_md5 FROM auth_user_md5
...@@ -1682,6 +1686,7 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -1682,6 +1686,7 @@ class Admin_CoursesController extends AuthenticatedController
INNER JOIN Institute ON (Institute.Institut_id = user_inst.Institut_id) INNER JOIN Institute ON (Institute.Institut_id = user_inst.Institut_id)
WHERE (Institute.Institut_id = :institut_id OR Institute.fakultaets_id = :institut_id) WHERE (Institute.Institut_id = :institut_id OR Institute.fakultaets_id = :institut_id)
AND auth_user_md5.perms = 'dozent' AND auth_user_md5.perms = 'dozent'
GROUP BY auth_user_md5.user_id
ORDER BY auth_user_md5.Nachname ASC, auth_user_md5.Vorname ASC ORDER BY auth_user_md5.Nachname ASC, auth_user_md5.Vorname ASC
", [ ", [
'institut_id' => $institut_id 'institut_id' => $institut_id
...@@ -1693,7 +1698,7 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -1693,7 +1698,7 @@ class Admin_CoursesController extends AuthenticatedController
return $ret; return $ret;
} }
); );
}
$list = []; $list = [];
if (!$institut_id || $institut_id === 'all') { if (!$institut_id || $institut_id === 'all') {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment