/**
* Display a listing of the users.
+ * @param Request $request
* @return Response
*/
- public function index()
+ public function index(Request $request)
{
$this->checkPermission('users-manage');
- $users = $this->userRepo->getAllUsers();
+ $listDetails = [
+ 'order' => $request->has('order') ? $request->get('order') : 'asc',
+ 'search' => $request->has('search') ? $request->get('search') : '',
+ 'sort' => $request->has('sort') ? $request->get('sort') : 'name',
+ ];
+ $users = $this->userRepo->getAllUsersPaginatedAndSorted(20, $listDetails);
$this->setPageTitle('Users');
- return view('users/index', ['users' => $users]);
+ $users->appends($listDetails);
+ return view('users/index', ['users' => $users, 'listDetails' => $listDetails]);
}
/**
});
$user = $this->userRepo->getById($id);
+
if ($this->userRepo->isOnlyAdmin($user)) {
session()->flash('error', 'You cannot delete the only admin');
return redirect($user->getEditUrl());
}
+
$this->userRepo->destroy($user);
+ session()->flash('success', 'User successfully removed');
return redirect('/settings/users');
}