53 lines
1.4 KiB
PHP
53 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire\Auth;
|
|
|
|
use App\Livewire\Forms\PasswordResetForm;
|
|
use App\Mail\PasswordResetNewUser;
|
|
use App\Models\User;
|
|
use App\Models\UserProfile;
|
|
use Exception;
|
|
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Support\Facades\Hash;
|
|
use Illuminate\Support\Facades\Mail;
|
|
use Illuminate\Support\Facades\Password;
|
|
use Livewire\Attributes\Layout;
|
|
use Livewire\Component;
|
|
use function Laravel\Prompts\error;
|
|
|
|
class PasswordReset extends Component
|
|
{
|
|
public PasswordResetForm $form;
|
|
public string $token;
|
|
|
|
public function mount($token)
|
|
{
|
|
$this->token = $token;
|
|
}
|
|
|
|
#[Layout('components.layouts.auth')]
|
|
public function resetPassword()
|
|
{
|
|
$validated = $this->form->validate();
|
|
|
|
$status = Password::reset(array_merge($validated, ['token' => $this->token]),
|
|
function (User $user, string $password) {
|
|
$user->forceFill([
|
|
'password' => Hash::make($password),
|
|
])->save();
|
|
});
|
|
|
|
if ($status === Password::PASSWORD_RESET) {
|
|
//Mail::to($user->email)->send(new PasswordResetNewUser($user));
|
|
return redirect()->route('login');
|
|
}
|
|
|
|
$this->addError('email', 'The provided credentials do not match our records.');
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
return view('pages.auth.reset-password');
|
|
}
|
|
}
|