Add forced email verify for admins

This commit is contained in:
Jozef Bonnar 2022-08-10 19:11:02 +01:00 committed by GitHub
parent 812126e120
commit 266057b666
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 1 deletions

View file

@ -160,6 +160,17 @@ class UserController extends Controller
$user->delete();
return redirect()->back()->with('success', __('user has been removed!'));
}
/**
* Verifys the users email
*
* @param User $user
* @return RedirectResponse
*/
public function verifyEmail(Request $request, User $user)
{
$user->verifyEmail();
return redirect()->back()->with('success', __('Email has been verified!'));
}
/**
* @param Request $request
@ -285,6 +296,7 @@ class UserController extends Controller
$suspendText = $user->isSuspended() ? __("Unsuspend") : __("Suspend");
return '
<a data-content="' . __("Login as User") . '" data-toggle="popover" data-trigger="hover" data-placement="top" href="' . route('admin.users.loginas', $user->id) . '" class="btn btn-sm btn-primary mr-1"><i class="fas fa-sign-in-alt"></i></a>
<a data-content="' . __("Verify") . '" data-toggle="popover" data-trigger="hover" data-placement="top" href="' . route('admin.users.verifyEmail', $user->id) . '" class="btn btn-sm btn-primary mr-1"><i class="fas fa-sign-in-alt"></i></a>
<a data-content="' . __("Show") . '" data-toggle="popover" data-trigger="hover" data-placement="top" href="' . route('admin.users.show', $user->id) . '" class="btn btn-sm text-white btn-warning mr-1"><i class="fas fa-eye"></i></a>
<a data-content="' . __("Edit") . '" data-toggle="popover" data-trigger="hover" data-placement="top" href="' . route('admin.users.edit', $user->id) . '" class="btn btn-sm btn-info mr-1"><i class="fas fa-pen"></i></a>
<form class="d-inline" method="post" action="' . route('admin.users.togglesuspend', $user->id) . '">

View file

@ -259,4 +259,11 @@ class User extends Authenticatable implements MustVerifyEmail
$status = str_replace(' ', '/', $status);
return $status;
}
public function verifyEmail()
{
$this->forceFill([
'email_verified_at' => now(),
])->save();
}
}

View file

@ -448,7 +448,7 @@ echo $cardheader;
?>
<p class="login-box-msg">All done!</p>
<p class="login-box-msg">You may navigate to your Dashboard now and log in!</p>
<a href="<?php echo "https://" . $_SERVER['SERVER_NAME']; ?>">
<a href="<?php echo getEnvironmentValue("APP_URL"); ?>">
<button class="btn btn-success">Lets go!</button>
</a>
</div>

View file

@ -103,6 +103,7 @@ Route::middleware(['auth', 'checkSuspended'])->group(function () {
#users
Route::get("users.json", [UserController::class, "json"])->name('users.json');
Route::get('users/loginas/{user}', [UserController::class, 'loginAs'])->name('users.loginas');
Route::get('users/verifyEmail/{user}', [UserController::class, 'verifyEmail'])->name('users.verifyEmail');
Route::get('users/datatable', [UserController::class, 'datatable'])->name('users.datatable');
Route::get('users/notifications', [UserController::class, 'notifications'])->name('users.notifications');
Route::post('users/notifications', [UserController::class, 'notify'])->name('users.notifications');