namespace BookStack\Http\Controllers;
+use BookStack\Auth\Permissions\EntityPermission;
+use BookStack\Auth\Permissions\PermissionFormData;
+use BookStack\Auth\Role;
use BookStack\Entities\Models\Book;
use BookStack\Entities\Models\Bookshelf;
use BookStack\Entities\Models\Chapter;
return view('pages.permissions', [
'page' => $page,
+ 'data' => new PermissionFormData($page),
]);
}
return view('chapters.permissions', [
'chapter' => $chapter,
+ 'data' => new PermissionFormData($chapter),
]);
}
return view('books.permissions', [
'book' => $book,
+ 'data' => new PermissionFormData($book),
]);
}
return view('shelves.permissions', [
'shelf' => $shelf,
+ 'data' => new PermissionFormData($shelf),
]);
}
return redirect($shelf->getUrl());
}
+
+ /**
+ * Get an empty entity permissions form row for the given role.
+ */
+ public function formRowForRole(string $entityType, string $roleId)
+ {
+ $this->checkPermissionOr('restrictions-manage', fn() => userCan('restrictions-manage-all'));
+
+ $role = Role::query()->findOrFail($roleId);
+
+ return view('form.entity-permissions-row', [
+ 'role' => $role,
+ 'permission' => new EntityPermission(),
+ 'entityType' => $entityType,
+ ]);
+ }
}