aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rwxr-xr-xlib/classes/JsonApi/Routes/Courseware/Authority.php14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/classes/JsonApi/Routes/Courseware/Authority.php b/lib/classes/JsonApi/Routes/Courseware/Authority.php
index 5e30a41..ea14090 100755
--- a/lib/classes/JsonApi/Routes/Courseware/Authority.php
+++ b/lib/classes/JsonApi/Routes/Courseware/Authority.php
@@ -58,10 +58,6 @@ class Authority
public static function canUpdateBlock(User $user, Block $resource)
{
- if ($resource->isBlocked()) {
- return $resource->getBlockerUserId() == $user->id;
- }
-
return self::canUpdateContainer($user, $resource->container);
}
@@ -72,7 +68,15 @@ class Authority
public static function canUpdateEditBlocker(User $user, $resource)
{
- return $resource->edit_blocker_id == '' || $resource->edit_blocker_id === $user->id;
+ if ($resource instanceof Block) {
+ return self::canUpdateBlock($user, $resource);
+ } else if ($resource instanceof Container) {
+ return self::canUpdateContainer($user, $resource);
+ } else if ($resource instanceof StructuralElement) {
+ return self::canUpdateStructuralElement($user, $resource);
+ } else {
+ return false;
+ }
}
public static function canShowContainer(User $user, Container $resource)