diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 397bb2922..2fe22f1e1 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -250,12 +250,18 @@ class UserController extends Controller ]); } + /** + * Update the user's preferred book-list display setting. + * @param $id + * @param Request $request + * @return \Illuminate\Http\RedirectResponse + */ public function switchBookView($id, Request $request) { $this->checkPermissionOr('users-manage', function () use ($id) { return $this->currentUser->id == $id; }); - $viewType = $request->get('book_view_type'); + $viewType = $request->get('book_view_type'); if (!in_array($viewType, ['grid', 'list'])) { $viewType = 'list'; } @@ -263,13 +269,7 @@ class UserController extends Controller $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); - } + return redirect()->back(302, [], "/settings/users/$id"); } + } diff --git a/resources/lang/en/common.php b/resources/lang/en/common.php index 7cdd7c23e..26f096327 100644 --- a/resources/lang/en/common.php +++ b/resources/lang/en/common.php @@ -49,6 +49,8 @@ return [ 'toggle_details' => 'Toggle Details', 'toggle_thumbnails' => 'Toggle Thumbnails', 'details' => 'Details', + 'grid_view' => 'Grid View', + 'list_view' => 'List View', /** * Header diff --git a/resources/lang/en/entities.php b/resources/lang/en/entities.php index 6e481d03b..4dc5ccc38 100644 --- a/resources/lang/en/entities.php +++ b/resources/lang/en/entities.php @@ -99,7 +99,6 @@ return [ 'books_sort_named' => 'Sort Book :bookName', 'books_sort_show_other' => 'Show Other Books', 'books_sort_save' => 'Save New Order', - 'books_toggle_view' => 'Toggle Book View', /** * Chapters diff --git a/resources/lang/en/settings.php b/resources/lang/en/settings.php index f35c486ad..f3e26fb45 100755 --- a/resources/lang/en/settings.php +++ b/resources/lang/en/settings.php @@ -96,7 +96,6 @@ return [ 'users_external_auth_id' => 'External Authentication ID', 'users_password_warning' => 'Only fill the below if you would like to change your password:', 'users_system_public' => 'This user represents any guest users that visit your instance. It cannot be used to log in but is assigned automatically.', - 'users_books_view_type' => 'Preferred layout for books viewing', 'users_delete' => 'Delete User', 'users_delete_named' => 'Delete user :userName', 'users_delete_warning' => 'This will fully delete this user with the name \':userName\' from the system.', diff --git a/resources/views/books/index.blade.php b/resources/views/books/index.blade.php index 5ca01a550..2ab819327 100644 --- a/resources/views/books/index.blade.php +++ b/resources/views/books/index.blade.php @@ -1,14 +1,22 @@ @extends('sidebar-layout') @section('toolbar') -
-
-
+
+
id}/switch-book-view") }}" method="POST" class="inline"> {!! csrf_field() !!} + {!! method_field('PATCH') !!} - + @if ($booksViewType === 'list') + + @else + + @endif
+
+
+
+
@if($currentUser->can('book-create-all')) {{ trans('entities.books_create') }} @endif diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index 14ab19e0e..fc75593b8 100644 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -43,13 +43,6 @@ @endforeach
-
- - -
diff --git a/routes/web.php b/routes/web.php index 31de09737..5ddb3fb94 100644 --- a/routes/web.php +++ b/routes/web.php @@ -146,7 +146,7 @@ Route::group(['middleware' => 'auth'], function () { Route::get('/users', 'UserController@index'); Route::get('/users/create', 'UserController@create'); Route::get('/users/{id}/delete', 'UserController@delete'); - Route::post('/users/{id}/switch-book-view', 'UserController@switchBookView'); + Route::patch('/users/{id}/switch-book-view', 'UserController@switchBookView'); Route::post('/users/create', 'UserController@store'); Route::get('/users/{id}', 'UserController@edit'); Route::put('/users/{id}', 'UserController@update');