]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/UserController.php
Adds button to allow users to toggle the book view via the books list page.
[bookstack] / app / Http / Controllers / UserController.php
index fe5c7a243b6c4e7899cf5730da9755225268f371..5c10133a2cbe1aa6c4a2cf3e6cfd86777bfb0c01 100644 (file)
@@ -249,4 +249,25 @@ class UserController extends Controller
             'assetCounts' => $assetCounts
         ]);
     }
+
+    public function switchBookView($id, Request $request) {
+        $this->checkPermission('users-manage');
+        $viewType = $request->get('book_view_type');
+
+        if (!in_array($viewType, ['grid', 'list'])) {
+            $viewType = 'list';
+        }
+
+        $user = $this->user->findOrFail($id);
+        setting()->putUser($user, 'books_view_type', $viewType);
+
+        $previousUrl = url()->previous();
+        if (empty($previousUrl)) {
+            // if no previous URL, redirect to settings
+            return redirect("/settings/users/$id");
+        } else {
+            // redirect to the previous page.
+            return redirect($previousUrl);
+        }
+    }
 }