diff options
| author | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2022-07-06 15:35:21 +0200 |
|---|---|---|
| committer | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2022-07-06 15:35:21 +0200 |
| commit | d3d7342255f2ba09507b14b4e8f65e7a0f8e4173 (patch) | |
| tree | cb0c6f6f41e98c0ae4acf1098dea075dd9a8232d /lib/classes | |
| parent | 5ebdfdc4bb3e8c02c9ba98e2d30367a0c48dbac7 (diff) | |
draft of a simple mechanism to override the edit lock, re #887biest-887-50
This commit is a sketch of how to:
- check the edit lock when starting an edit operation
- allow overriding an active lock
Diffstat (limited to 'lib/classes')
| -rwxr-xr-x | lib/classes/JsonApi/Routes/Courseware/Authority.php | 14 |
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) |
