diff --git a/app/Http/Controllers/TwoFactorController.php b/app/Http/Controllers/TwoFactorController.php index e4204014b052..e6a5c0473276 100644 --- a/app/Http/Controllers/TwoFactorController.php +++ b/app/Http/Controllers/TwoFactorController.php @@ -11,7 +11,7 @@ class TwoFactorController extends Controller { $user = auth()->user(); - if ($user->google_2fa_secret || ! $user->phone) { + if ($user->google_2fa_secret || ! $user->phone || ! $user->confirmed) { return redirect('/settings/user_details'); } @@ -39,7 +39,7 @@ class TwoFactorController extends Controller $user = auth()->user(); $secret = session()->pull('2fa:secret'); - if ($secret && ! $user->google_2fa_secret && $user->phone) { + if ($secret && ! $user->google_2fa_secret && $user->phone && $user->confirmed) { $user->google_2fa_secret = Crypt::encrypt($secret); $user->save(); diff --git a/resources/views/accounts/user_details.blade.php b/resources/views/accounts/user_details.blade.php index f0d31c67513d..a919d5a151a9 100644 --- a/resources/views/accounts/user_details.blade.php +++ b/resources/views/accounts/user_details.blade.php @@ -50,21 +50,22 @@ !!} @endif - @if ($user->google_2fa_secret) - {!! Former::checkbox('enable_two_factor') - ->help(trans('texts.enable_two_factor_help')) - ->text(trans('texts.enable')) - ->value(1) !!} - @elseif ($user->phone) - {!! Former::plaintext('enable_two_factor')->value( - Button::primary(trans('texts.enable'))->asLinkTo(url('settings/enable_two_factor'))->small() - )->help('enable_two_factor_help') !!} - @else - {!! Former::plaintext('enable_two_factor') - ->value('' . trans('texts.set_phone_for_two_factor') . '') !!} + @if ($user->confirmed) + @if ($user->google_2fa_secret) + {!! Former::checkbox('enable_two_factor') + ->help(trans('texts.enable_two_factor_help')) + ->text(trans('texts.enable')) + ->value(1) !!} + @elseif ($user->phone) + {!! Former::plaintext('enable_two_factor')->value( + Button::primary(trans('texts.enable'))->asLinkTo(url('settings/enable_two_factor'))->small() + )->help('enable_two_factor_help') !!} + @else + {!! Former::plaintext('enable_two_factor') + ->value('' . trans('texts.set_phone_for_two_factor') . '') !!} + @endif @endif - {!! Former::checkbox('dark_mode') ->help(trans('texts.dark_mode_help')) ->text(trans('texts.enable'))