X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/6063ac4a119f6defaf06b282540d815df7b040ae..refs/pull/635/head:/app/Http/Controllers/UserController.php diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index fe5c7a243..397bb2922 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -249,4 +249,27 @@ class UserController extends Controller 'assetCounts' => $assetCounts ]); } + + public function switchBookView($id, Request $request) { + $this->checkPermissionOr('users-manage', function () use ($id) { + return $this->currentUser->id == $id; + }); + $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); + } + } }