From 64a82ba9fefeb63d3917b999eb5448c9ad323ac3 Mon Sep 17 00:00:00 2001 From: Thomas Hackl Date: Wed, 16 Apr 2025 08:30:19 +0000 Subject: Resolve "Fehler beim Speichern von Anmeldesets" Closes #5501 Merge request studip/studip!4132 --- lib/classes/JsonApi/Routes/Admission/Authority.php | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/lib/classes/JsonApi/Routes/Admission/Authority.php b/lib/classes/JsonApi/Routes/Admission/Authority.php index 4e647e0..29ff06a 100644 --- a/lib/classes/JsonApi/Routes/Admission/Authority.php +++ b/lib/classes/JsonApi/Routes/Admission/Authority.php @@ -61,17 +61,14 @@ class Authority Institute::getMyInstitutes($user->id) ); - // Check access for admin accounts. - $access = $GLOBALS['perm']->have_perm('admin') - && array_intersect($courseset->getInstituteIds(), $institutes); - - if (!$access) { + $intersection = array_intersect( + array_keys($courseset->getInstituteIds()), + $institutes + ); - // Check access for lecturers if the config option is set. - $access = Config::get()->ALLOW_DOZENT_COURSESET_ADMIN - && $GLOBALS['perm']->have_perm('dozent') - && array_intersect($courseset->getInstituteIds(), $institutes); - } + // Check access for admin (or dozent if permission is set) accounts. + $access = $GLOBALS['perm']->have_perm(Config::get()->ALLOW_DOZENT_COURSESET_ADMIN ? 'dozent' : 'admin') + && count($intersection) > 0; return $access; } -- cgit v1.0