+
+ 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);
+ }
+ }