added user verification option in admin settings

This commit is contained in:
Milos Holba
2021-05-20 21:18:28 +02:00
parent 32bc3bacc0
commit 0139cc92bf
11 changed files with 117 additions and 14 deletions
+4
View File
@@ -54,6 +54,10 @@ class CreateNewUser implements CreatesNewUsers
'storage_capacity' => $settings['storage_default'],
]);
if(!get_setting('user_verification')) {
$user->markEmailAsVerified();
}
UserSettings::reguard();
return $user;
@@ -9,6 +9,7 @@ use App\Models\Folder;
use App\Models\Setting;
use Illuminate\Support\Str;
use App\Services\SetupService;
use Illuminate\Support\Carbon;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Storage;
@@ -87,6 +88,7 @@ class SetupDevEnvironment extends Command
'role' => 'admin',
'email' => 'howdy@hi5ve.digital',
'password' => bcrypt('vuefilemanager'),
'email_verified_at' => Carbon::now(),
]);
$user
@@ -127,6 +129,7 @@ class SetupDevEnvironment extends Command
'role' => 'user',
'email' => $this->faker->email,
'password' => bcrypt('vuefilemanager'),
'email_verified_at' => Carbon::now(),
]);
$newbie
@@ -26,6 +26,7 @@ class AuthController extends Controller
return [
'name' => $user->settings->name,
'avatar' => $user->settings->avatar,
'verified' => $user->email_verified_at ? true : false
];
}
}
@@ -178,8 +178,10 @@ class AccountController extends Controller
* @param User $user
* @return ResponseFactory|\Illuminate\Http\Response
*/
public function email_verify(User $user, Request $request)
public function email_verify($id, Request $request)
{
$user = User::find($id);
if (!$request->hasValidSignature()) {
return response("Invalid/Expired url provided.", 401);
}
@@ -188,7 +190,7 @@ class AccountController extends Controller
$user->markEmailAsVerified();
}
return redirect()->to('/');
return redirect()->to('/sign-in');
}
/**
@@ -196,13 +198,15 @@ class AccountController extends Controller
*
* @return ResponseFactory|\Illuminate\Http\Response
*/
public function resend_verify_email()
public function resend_verify_email(Request $request)
{
if (Auth::user()->hasVerifiedEmail()) {
$user = User::whereEmail($request->input('email'))->first();
if ($user->hasVerifiedEmail()) {
return response("Email already verified.", 204);
}
Auth::user()->sendEmailVerificationNotification();
$user->sendEmailVerificationNotification();
return response("Email verification link sent on your email", 200);
}