]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/BookshelfController.php
Spanish translation
[bookstack] / app / Http / Controllers / BookshelfController.php
index 02b6299ce873d99abb4bf41556b42eca29e0db30..8c7f7819e42904d21408e8965b3f6c03599dd07c 100644 (file)
@@ -189,37 +189,55 @@ class BookshelfController extends Controller
         $this->entityRepo->destroyBookshelf($bookshelf);
         return redirect('/shelves');
     }
-//
-//    /**
-//     * Show the Restrictions view.
-//     * @param $bookSlug
-//     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
-//     */
-//    public function showRestrict($bookSlug)
-//    {
-//        $book = $this->entityRepo->getBySlug('book', $bookSlug);
-//        $this->checkOwnablePermission('restrictions-manage', $book);
-//        $roles = $this->userRepo->getRestrictableRoles();
-//        return view('books/restrictions', [
-//            'book' => $book,
-//            'roles' => $roles
-//        ]);
-//    }
-//
-//    /**
-//     * Set the restrictions for this book.
-//     * @param $bookSlug
-//     * @param $bookSlug
-//     * @param Request $request
-//     * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
-//     */
-//    public function restrict($bookSlug, Request $request)
-//    {
-//        $book = $this->entityRepo->getBySlug('book', $bookSlug);
-//        $this->checkOwnablePermission('restrictions-manage', $book);
-//        $this->entityRepo->updateEntityPermissionsFromRequest($request, $book);
-//        session()->flash('success', trans('entities.books_permissions_updated'));
-//        return redirect($book->getUrl());
-//    }
 
+    /**
+     * Show the Restrictions view.
+     * @param $slug
+     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
+     * @throws \BookStack\Exceptions\NotFoundException
+     */
+    public function showRestrict(string $slug)
+    {
+        $bookshelf = $this->entityRepo->getBySlug('bookshelf', $slug);
+        $this->checkOwnablePermission('restrictions-manage', $bookshelf);
+
+        $roles = $this->userRepo->getRestrictableRoles();
+        return view('shelves.restrictions', [
+            'shelf' => $bookshelf,
+            'roles' => $roles
+        ]);
+    }
+
+    /**
+     * Set the restrictions for this bookshelf.
+     * @param $slug
+     * @param Request $request
+     * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
+     * @throws \BookStack\Exceptions\NotFoundException
+     */
+    public function restrict(string $slug, Request $request)
+    {
+        $bookshelf = $this->entityRepo->getBySlug('bookshelf', $slug);
+        $this->checkOwnablePermission('restrictions-manage', $bookshelf);
+
+        $this->entityRepo->updateEntityPermissionsFromRequest($request, $bookshelf);
+        session()->flash('success', trans('entities.shelves_permissions_updated'));
+        return redirect($bookshelf->getUrl());
+    }
+
+    /**
+     * Copy the permissions of a bookshelf to the child books.
+     * @param string $slug
+     * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
+     * @throws \BookStack\Exceptions\NotFoundException
+     */
+    public function copyPermissions(string $slug)
+    {
+        $bookshelf = $this->entityRepo->getBySlug('bookshelf', $slug);
+        $this->checkOwnablePermission('restrictions-manage', $bookshelf);
+
+        $updateCount = $this->entityRepo->copyBookshelfPermissions($bookshelf);
+        session()->flash('success', trans('entities.shelves_copy_permission_success', ['count' => $updateCount]));
+        return redirect($bookshelf->getUrl());
+    }
 }