From a9a31a9e6d2e465dcd6f98e50932a17b8dc02278 Mon Sep 17 00:00:00 2001 From: Ron Lucke <lucke@elan-ev.de> Date: Thu, 12 May 2022 11:34:29 +0000 Subject: [PATCH] fix #1044 Closes #1044 Merge request studip/studip!610 --- lib/classes/JsonApi/Routes/Courseware/Authority.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/classes/JsonApi/Routes/Courseware/Authority.php b/lib/classes/JsonApi/Routes/Courseware/Authority.php index 0f50b487463..fa84c0a0cd6 100755 --- a/lib/classes/JsonApi/Routes/Courseware/Authority.php +++ b/lib/classes/JsonApi/Routes/Courseware/Authority.php @@ -56,13 +56,19 @@ class Authority public static function canUpdateBlock(User $user, Block $resource) { if ($resource->isBlocked()) { + $structural_element = $resource->container->structural_element; + + if ($structural_element->range_type === 'user') { + return $structural_element->range_id === $user->id; + } + $perm = $GLOBALS['perm']->have_studip_perm( - $resource->container->structural_element->course->config->COURSEWARE_EDITING_PERMISSION, - $resource->container->structural_element->course->id, + $structural_element->course->config->COURSEWARE_EDITING_PERMISSION, + $structural_element->course->id, $user->id ); - return $resource->getBlockerUserId() == $user->id || $perm; + return $resource->edit_blocker_id === $user->id || $perm; } return self::canUpdateContainer($user, $resource->container); -- GitLab