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

ResetPasswordSubmitController   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 15
c 1
b 0
f 0
dl 0
loc 29
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A __invoke() 0 24 3
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