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,12 +534,14 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -534,12 +534,14 @@ class Admin_CoursesController extends AuthenticatedController
'institut_id' => 'MY_INSTITUTES_DEFAULT', 'institut_id' => 'MY_INSTITUTES_DEFAULT',
]; ];
$config->store( if (!empty($filters['institut_id'])) {
'MY_INSTITUTES_INCLUDE_CHILDREN', $config->store(
str_contains($filters['institut_id'], '_') ? 1 : 0 'MY_INSTITUTES_INCLUDE_CHILDREN',
); str_contains($filters['institut_id'], '_') ? 1 : 0
if ($config->MY_INSTITUTES_INCLUDE_CHILDREN) { );
$filters['institut_id'] = substr($filters['institut_id'], 0, strpos($filters['institut_id'], '_')); if ($config->MY_INSTITUTES_INCLUDE_CHILDREN) {
$filters['institut_id'] = substr($filters['institut_id'], 0, strpos($filters['institut_id'], '_'));
}
} }
foreach ($mapping as $key => $field) { foreach ($mapping as $key => $field) {
...@@ -1674,7 +1676,9 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -1674,7 +1676,9 @@ 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 = DBManager::get()->fetchAll(" $teachers = [];
if ($institut_id) {
$teachers = DBManager::get()->fetchAll("
SELECT auth_user_md5.*, user_info.* SELECT auth_user_md5.*, user_info.*
FROM auth_user_md5 FROM auth_user_md5
LEFT JOIN user_info ON (auth_user_md5.user_id = user_info.user_id) LEFT JOIN user_info ON (auth_user_md5.user_id = user_info.user_id)
...@@ -1682,18 +1686,19 @@ class Admin_CoursesController extends AuthenticatedController ...@@ -1682,18 +1686,19 @@ 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
], ],
function ($data) { function ($data) {
$ret['user_id'] = $data['user_id']; $ret['user_id'] = $data['user_id'];
unset($data['user_id']); unset($data['user_id']);
$ret['fullname'] = User::build($data)->getFullName("full_rev"); $ret['fullname'] = User::build($data)->getFullName("full_rev");
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.
Finish editing this message first!
Please register or to comment