aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2022-07-06 15:35:21 +0200
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2022-07-06 15:35:21 +0200
commitd3d7342255f2ba09507b14b4e8f65e7a0f8e4173 (patch)
treecb0c6f6f41e98c0ae4acf1098dea075dd9a8232d /lib
parent5ebdfdc4bb3e8c02c9ba98e2d30367a0c48dbac7 (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')
-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)