X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/c42956bcafc7c43275457887c119476af8f72b36..refs/pull/5725/head:/app/Entities/Tools/PermissionsUpdater.php diff --git a/app/Entities/Tools/PermissionsUpdater.php b/app/Entities/Tools/PermissionsUpdater.php index 0d1d307af..9f3b8f952 100644 --- a/app/Entities/Tools/PermissionsUpdater.php +++ b/app/Entities/Tools/PermissionsUpdater.php @@ -2,14 +2,14 @@ namespace BookStack\Entities\Tools; -use BookStack\Actions\ActivityType; -use BookStack\Auth\Permissions\EntityPermission; -use BookStack\Auth\Role; -use BookStack\Auth\User; +use BookStack\Activity\ActivityType; use BookStack\Entities\Models\Book; use BookStack\Entities\Models\Bookshelf; use BookStack\Entities\Models\Entity; use BookStack\Facades\Activity; +use BookStack\Permissions\Models\EntityPermission; +use BookStack\Users\Models\Role; +use BookStack\Users\Models\User; use Illuminate\Http\Request; class PermissionsUpdater @@ -44,20 +44,20 @@ class PermissionsUpdater */ public function updateFromApiRequestData(Entity $entity, array $data): void { - if (isset($data['override_role_permissions'])) { + if (isset($data['role_permissions'])) { $entity->permissions()->where('role_id', '!=', 0)->delete(); - $rolePermissionData = $this->formatPermissionsFromApiRequestToEntityPermissions($data['override_role_permissions'] ?? [], false); + $rolePermissionData = $this->formatPermissionsFromApiRequestToEntityPermissions($data['role_permissions'] ?? [], false); $entity->permissions()->createMany($rolePermissionData); } - if (array_key_exists('override_fallback_permissions', $data)) { + if (array_key_exists('fallback_permissions', $data)) { $entity->permissions()->where('role_id', '=', 0)->delete(); } - if (isset($data['override_fallback_permissions'])) { - $data = $data['override_fallback_permissions']; - $data['role_id'] = 0; - $rolePermissionData = $this->formatPermissionsFromApiRequestToEntityPermissions([$data], true); + if (isset($data['fallback_permissions']['inheriting']) && $data['fallback_permissions']['inheriting'] !== true) { + $fallbackData = $data['fallback_permissions']; + $fallbackData['role_id'] = 0; + $rolePermissionData = $this->formatPermissionsFromApiRequestToEntityPermissions([$fallbackData], true); $entity->permissions()->createMany($rolePermissionData); }