diff --git a/app/Http/Controllers/Admin/UsersOverview.php b/app/Http/Controllers/Admin/UsersOverview.php index 6f27d15a..e26513cb 100644 --- a/app/Http/Controllers/Admin/UsersOverview.php +++ b/app/Http/Controllers/Admin/UsersOverview.php @@ -2,19 +2,37 @@ namespace App\Http\Controllers\Admin; +use App\Enumerations\UserRoles; +use App\Enumerations\UserStates; use App\Http\Controllers\Controller; use App\Http\Requests; use App\Models\User; class UsersOverview extends Controller { - public function getOverview($perPage = 12, $state = null) + public function getOverview($status = null, $perPage = 12) { - $users = User::where('role', '!=', User::STATE_DELETED)->orderBy('id', 'desc'); + $users = User::where('status', '<>', User::STATE_DELETED) + ->orderBy('id', 'desc'); + // get statuses + $statuses = UserStates::getWithTranslations(); + $statuses[''] = trans('admin/userManagement.allStatuses'); + unset($statuses[User::STATE_DELETED]); + // filter using status + if (!is_null($status) && isset($statuses[$status])) { + $users = $users->where('status', $status); + } + + // setup pagination $users = $users->paginate($perPage); - return view('admin.userManagement.overview', ['users' => $users]); + return view('admin.userManagement.overview', [ + 'users' => $users, + 'roles' => UserRoles::getWithTranslations(), + 'statuses' => $statuses, + 'currentStatus' => $status + ]); } } \ No newline at end of file diff --git a/app/Http/routes.php b/app/Http/routes.php index c9bd0452..e0582b89 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -45,7 +45,7 @@ Route::group([ ->name('users.detail'); // display list of all users registered into our system - Route::get('users/overview/{state?}', 'UsersOverview@getOverview') + Route::get('users/overview/{state?}/{perPage?}', 'UsersOverview@getOverview') ->name('users.overview'); // custom fields diff --git a/resources/lang/en/admin/userManagement.php b/resources/lang/en/admin/userManagement.php index 1f7e58f1..a1cd63fe 100644 --- a/resources/lang/en/admin/userManagement.php +++ b/resources/lang/en/admin/userManagement.php @@ -13,6 +13,7 @@ return [ 'status_deleted' => 'Deleted', 'status_blocked' => 'Blocked', 'status_active' => 'Active', + 'allStatuses' => 'All', 'register' => 'Create user', 'registrationSuccessfull' => 'New user successfully added.', 'profile' => 'Your profile', diff --git a/resources/views/admin/userManagement/overview.blade.php b/resources/views/admin/userManagement/overview.blade.php index 5ecfa2c9..d4ca1a88 100644 --- a/resources/views/admin/userManagement/overview.blade.php +++ b/resources/views/admin/userManagement/overview.blade.php @@ -7,29 +7,27 @@
+ @foreach($statuses as $status => $translation) + {{$translation}} + @endforeach +
+