Test Failed
Push — dev6 ( e3f62b...d58043 )
by Ron
17:13
created

ResetPasswordSubmitController::__invoke()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 24
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 14
c 1
b 0
f 0
dl 0
loc 24
rs 9.7998
cc 3
nc 2
nop 1
1
<?php
2
3
namespace App\Http\Controllers\Auth;
4
5
use App\Http\Controllers\Controller;
6
use App\Http\Requests\Auth\ResetTokenRequest;
7
use Carbon\Carbon;
8
use Illuminate\Auth\Events\PasswordReset;
9
use Illuminate\Http\Request;
10
use Illuminate\Support\Facades\Hash;
11
use Illuminate\Support\Facades\Log;
12
use Illuminate\Support\Facades\Password;
13
14
class ResetPasswordSubmitController extends Controller
15
{
16
    /**
17
     *  Submit the Reset Password via token request
18
     */
19
    public function __invoke(ResetTokenRequest $request)
20
    {
21
        $status = Password::reset(
22
            $request->only('email', 'password', 'password_confirmation', 'token'),
23
                function($user, $password)
24
                {
25
                    //  Determine the new expiration date
26
                    $expires = config('auth.passwords.settings.expire') ? Carbon::now()->addDays(config('auth.passwords.settings.expire')) : null;
27
28
                    $user->forceFill([
29
                        'password'         => Hash::make($password),
30
                        'password_expires' => $expires,
31
                    ]);
32
33
                    $user->save();
34
                    event(new PasswordReset($user));
35
                }
36
            );
37
38
        return $status == Password::PASSWORD_RESET
39
                ? redirect()->route('login.index')->with([
40
                    'message' => 'Password Successfully Updated',
41
                    'type'    => 'success'
42
                ]) : back()->withErrors(['email' => [__($status)]]);
43
    }
44
}
45