-
- /**
- * Show the permissions view.
- */
- public function showPermissions(string $slug)
- {
- $shelf = $this->bookshelfRepo->getBySlug($slug);
- $this->checkOwnablePermission('restrictions-manage', $shelf);
-
- return view('shelves.permissions', [
- 'shelf' => $shelf,
- ]);
- }
-
- /**
- * Set the permissions for this bookshelf.
- */
- public function permissions(Request $request, string $slug)
- {
- $shelf = $this->bookshelfRepo->getBySlug($slug);
- $this->checkOwnablePermission('restrictions-manage', $shelf);
-
- $restricted = $request->get('restricted') === 'true';
- $permissions = $request->filled('restrictions') ? collect($request->get('restrictions')) : null;
- $this->bookshelfRepo->updatePermissions($shelf, $restricted, $permissions);
-
- $this->showSuccessNotification(trans('entities.shelves_permissions_updated'));
- return redirect($shelf->getUrl());
- }
-
- /**
- * Copy the permissions of a bookshelf to the child books.
- */
- public function copyPermissions(string $slug)
- {
- $shelf = $this->bookshelfRepo->getBySlug($slug);
- $this->checkOwnablePermission('restrictions-manage', $shelf);
-
- $updateCount = $this->bookshelfRepo->copyDownPermissions($shelf);
- $this->showSuccessNotification(trans('entities.shelves_copy_permission_success', ['count' => $updateCount]));
- return redirect($shelf->getUrl());
- }