diff --git a/app/Http/Controllers/Views/Admin/UsersController.php b/app/Http/Controllers/Views/Admin/UsersController.php index 8bd7a75cf..96be5209e 100644 --- a/app/Http/Controllers/Views/Admin/UsersController.php +++ b/app/Http/Controllers/Views/Admin/UsersController.php @@ -23,7 +23,7 @@ class UsersController extends Controller */ public function get(Request $request) { - $users = User::select('id', 'firstname', 'lastname', 'email', 'login_at', 'role_id', 'affiliation') + $users = User::select('id', 'firstname', 'lastname', 'email', 'login_at', 'created_at', 'role_id', 'affiliation') ->when($request->has('q'), function ($query) use ($request) { $q = $request->get('q'); $query->where(function ($query) use ($q) { @@ -32,6 +32,10 @@ public function get(Request $request) ->orWhere('email', 'ilike', "%$q%"); }); }) + ->when( + $request->get('recent'), + fn ($query) => $query->where('created_at', '>=', now()->subWeek()) + ) // Orders by login_at in descending order (most recent first) but puts // users with login_at=NULL at the end. ->orderByRaw('login_at IS NULL, login_at DESC') @@ -44,11 +48,15 @@ public function get(Request $request) Role::guestId() => 'Guest', ]; + $usersCount = User::whereDate('created_at', '>=', now()->subWeek()) + ->count(); + return view('admin.users', [ 'users' => $users, 'roleClass' => $this->roleClassMap(), 'roleNames' => $roleNames, 'query' => $request->get('q'), + 'usersCount' => $usersCount ]); } diff --git a/resources/views/admin/users.blade.php b/resources/views/admin/users.blade.php index b2fcdc5a3..ac2100843 100644 --- a/resources/views/admin/users.blade.php +++ b/resources/views/admin/users.blade.php @@ -8,13 +8,19 @@ The user was deleted. @endif -New user -
- -
-@if ($query) - -@endif +
+
+ +
+ @if ($query) + + @endif + + Recently joined + {{$usersCount}} + + New user +