X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/4209f27f1acabfccff0c2dea08f8e151ed82144f..98b59a10249afeccbf25bdd5eadf35f43a19cf67:/app/Http/Controllers/UserController.php diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index 895481d02..bd69aa8f5 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -37,15 +37,15 @@ class UserController extends Controller { $this->checkPermission('users-manage'); $listDetails = [ - 'order' => $request->get('order', 'asc'), 'search' => $request->get('search', ''), - 'sort' => $request->get('sort', 'name'), + 'sort' => setting()->getForCurrentUser('users_sort', 'name'), + 'order' => setting()->getForCurrentUser('users_sort_order', 'asc'), ]; $users = (new AllUsersPaginatedAndSorted())->run(20, $listDetails); $this->setPageTitle(trans('settings.users')); - $users->appends($listDetails); + $users->appends(['search' => $listDetails['search']]); return view('users.index', [ 'users' => $users, @@ -251,7 +251,7 @@ class UserController extends Controller */ public function changeSort(Request $request, string $id, string $type) { - $validSortTypes = ['books', 'bookshelves', 'shelf_books']; + $validSortTypes = ['books', 'bookshelves', 'shelf_books', 'users', 'roles']; if (!in_array($type, $validSortTypes)) { return redirect()->back(500); } @@ -318,7 +318,13 @@ class UserController extends Controller $this->checkPermissionOrCurrentUser('users-manage', $userId); $sort = $request->get('sort'); - if (!in_array($sort, ['name', 'created_at', 'updated_at', 'default'])) { + // TODO - Need to find a better way to validate sort options + // Probably better to do a simple validation here then validate at usage. + $validSorts = [ + 'name', 'created_at', 'updated_at', 'default', 'email', 'last_activity_at', 'display_name', + 'users_count', 'permissions_count', + ]; + if (!in_array($sort, $validSorts)) { $sort = 'name'; }