]> BookStack Code Mirror - bookstack/blobdiff - app/Http/Controllers/UserController.php
Revised role index list to align with user list
[bookstack] / app / Http / Controllers / UserController.php
index 895481d02405305c80198541883613941a69a13a..bd69aa8f57aa16bf022fdf7084603f609be5526e 100644 (file)
@@ -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';
         }