Implemented e-mail confirmations
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
||||
|
||||
|
||||
use App\Models\EmailConfirmation;
|
||||
use App\Models\User;
|
||||
use Hash;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Validation\Rule;
|
||||
@@ -22,34 +23,29 @@ class AccountController extends Controller
|
||||
|
||||
public function storeAccount(Request $request)
|
||||
{
|
||||
/** @var User $user */
|
||||
$user = user();
|
||||
|
||||
$input = $this->validate($request, [
|
||||
'name' => [
|
||||
'required',
|
||||
VALI_NAME,
|
||||
Rule::unique('users')->ignoreModel(\user()),
|
||||
Rule::unique('users')->ignoreModel($user),
|
||||
],
|
||||
'email' => [
|
||||
'required',
|
||||
VALI_EMAIL,
|
||||
Rule::unique('users')->ignoreModel(\user()),
|
||||
Rule::unique('users')->ignoreModel($user),
|
||||
],
|
||||
'new_password' => ['nullable', 'confirmed', VALI_PASSWORD],
|
||||
]);
|
||||
|
||||
$user = user();
|
||||
|
||||
if ($input->email != $user->email) {
|
||||
$confirmation = EmailConfirmation::create([
|
||||
'user_id' => $user->id,
|
||||
'email' => $input->email,
|
||||
'token' => Str::random(60),
|
||||
]);
|
||||
$user->sendEmailConfirmationLink($input->email);
|
||||
|
||||
flash()->warning("New e-mail confirmation sent to $input->email.")->important();
|
||||
flash()->warning("E-mail confirmation sent to $input->email.")->important();
|
||||
|
||||
// TODO send the e-mail
|
||||
|
||||
unset($input->email);
|
||||
unset($input->email); // prevent updating the field in the model via fill
|
||||
}
|
||||
|
||||
$user->fill($input->all());
|
||||
|
||||
Reference in New Issue
Block a user