feat(users): add account indicators to management page, update old refs

This commit is contained in:
2022-08-19 00:54:32 +01:00
parent e691e61bb5
commit 2b79ae4d09
7 changed files with 154 additions and 38 deletions

View File

@@ -127,12 +127,15 @@ class RegisterController extends Controller
*/
protected function create(array $data)
{
$ip = IP::shouldCollect() ? request()->ip() : '0.0.0.0';
$user = User::create([
'uuid' => $data['uuid'] ?? "disabled",
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'originalIP' => IP::shouldCollect() ? request()->ip() : '0.0.0.0',
'registrationIp' => $ip,
'currentIp' => $ip
]);
$user->assignRole('user');

View File

@@ -100,7 +100,7 @@ class ProfileController extends Controller
'insta' => $socialMediaProfiles['links']['insta'] ?? 'UpdateMe',
'discord' => $socialMediaProfiles['links']['discord'] ?? 'UpdateMe#12345',
'since' => $createdDate->englishMonth.' '.$createdDate->year,
'ipInfo' => IP::lookup($user->originalIP),
'ipInfo' => IP::lookup($user->currentIp),
'roles' => $roleList,
'suspensionInfo' => $suspensionInfo
]);

View File

@@ -61,7 +61,7 @@ class UserController extends Controller
{
$this->authorize('viewPlayers', User::class);
return view('dashboard.administration.players')
return view('dashboard.administration.users')
->with([
'users' => User::with('roles')->paginate('6'),
'numUsers' => count(User::all()),
@@ -91,7 +91,7 @@ class UserController extends Controller
if (! $matchingUsers->isEmpty()) {
$request->session()->flash('success', __('There were :usersCount user(s) matching your search.', ['usersCount' => $matchingUsers->count()]));
return view('dashboard.administration.players')
return view('dashboard.administration.users')
->with([
'users' => $matchingUsers,
'numUsers' => count(User::all()),
@@ -170,7 +170,12 @@ class UserController extends Controller
->with([
'user' => $user,
'roles' => $roleList,
'ipInfo' => IP::lookup($request->ip())
'isVerified' => $user->isVerified(),
'isLocked' => $suspensionService->isLocked($user),
'isSuspended' => $suspensionService->isSuspended($user),
'suspensionReason' => $suspensionService->getSuspensionReason($user),
'has2FA' => $user->has2FA(),
'applications' => $user->applications()->get()
]);
}
@@ -415,6 +420,7 @@ class UserController extends Controller
/**
* Demote the given user's privileges
*
* @deprecated This method is being removed in a future version
* @param Request $request
* @param User $user
* @return \Illuminate\Http\RedirectResponse
@@ -467,7 +473,7 @@ class UserController extends Controller
if (!$suspensionService->isSuspended($user)) {
$suspensionService->suspend($request->reason, $request->duration, $user, $request->suspensionType);
$suspensionService->suspend($user, $request->reason, $user, $request->suspensionType);
$request->session()->flash('success', __('Account suspended.'));
} else {

View File

@@ -21,6 +21,7 @@
namespace App\Http\Middleware;
use App\Services\AccountSuspensionService;
use Closure;
use Illuminate\Support\Facades\Auth;
@@ -35,10 +36,10 @@ class ForceLogoutMiddleware
*/
public function handle($request, Closure $next)
{
if (Auth::user()->isBanned()) {
Auth::logout();
$request->session()->flash('error', __('Your account is suspended. You will not be able to login or register until the suspension is lifted.'));
if ((new AccountSuspensionService())->isSuspended(Auth::user())) {
Auth::logout();
$request->session()->flash('error', __('Your account is suspended. If you think this was a mistake, please contact an admin.'));
return redirect('/');
}