redirect for auth non-verified users

parent 6f15f435
......@@ -14,4 +14,5 @@ class Authenticate extends Middleware
{
return $request->expectsJson() ? null : route('login.auth'); // перенаправление для не зарегистрированного
}
}
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Auth\Middleware\EnsureEmailIsVerified as Middleware;
use Illuminate\Http\Request;
class EnsureEmailIsVerified extends Middleware
{
/**
* Get the path the user should be redirected to when they are not authenticated.
*/
public static function redirectTo($route)
{
return static::class.':'.$route;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $redirectToRoute
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse|null
*/
public function handle($request, Closure $next, $redirectToRoute = null)
{
if (! $request->user() ) {
return redirect()->route('home');
} else {
if (! $request->user()->hasVerifiedEmail()) {
return redirect()->route('home');
//return redirect()->route('notVerified');
}
}
return $next($request);
}
}
......@@ -340,7 +340,6 @@
auth.classList.add('m-hide');
emailMessageEmail.innerText = email;
//emailMessageLink.setAttribute("action", link);
emailMessage.classList.remove('m-hide');
}
......
......@@ -231,3 +231,19 @@
</section><!-- End Contact Section -->
@endsection
@section('page_scripts')
@auth
@if(! auth()->user()->hasVerifiedEmail())
<script>
document.querySelector('.b-social').classList.add('m-hide');
document.querySelector('.b-auth').classList.add('m-hide');
document.querySelector('.b-email-message').classList.remove('m-hide');
document.querySelector('#navbar .getstarted').click();
</script>
@endif
@endauth
@endsection
\ No newline at end of file
......@@ -37,12 +37,18 @@
<nav id="navbar" class="navbar">
<ul>
@auth
@if(auth()->user()->hasVerifiedEmail())
<li class="dropdown"><a href="#"><span class="fw-bold">{{ auth()->user()->email }}</span> <i class="bi bi-chevron-down"></i></a>
<ul>
<li><a href="{{ url('settings') }}">Налаштування</a></li>
<li><a href="{{ route('logout') }}">Вийти</a></li>
</ul>
</li>
@else
<li>
<a class="getstarted" href="#" data-bs-toggle="modal" data-bs-target="#loginModal">Увiйти</a>
</li>
@endif
@endauth
@guest
<li>
......
......@@ -74,11 +74,10 @@
</div>
<div class="b-email-message contact text-center m-hide">
<p>На пошту <b></b> надіслано листа, потрібно перейти за посиланням.</p>
<p>На пошту <b>@auth {{ auth()->user()->email }} @endauth</b> надіслано листа, потрібно перейти за посиланням.</p>
<p>Якщо лист не надійшов, перевірте спам.</p>
<form method="post" action='/email/verification-notification' class="php-email-form" id="ver-email-form">
@csrf
<button type="submit">Надіслати листа ще раз</button>
</form>
</div>
......
......@@ -3,9 +3,7 @@
@section('title')Авторизацiя @endsection
@section('page_scripts')
@if(!config('project.minificate_static'))
<script>
document.querySelector('#navbar .getstarted').click();
</script>
@endif
@endsection
......@@ -25,10 +25,12 @@ Route::get('/test', function () {
return view('test');
}) -> name('test');
Route::get('/', function () {
return view('home');
}) -> name('home');
Route::get('/loading', function () {
return view('loading');
}) -> name('loading');
......@@ -50,6 +52,14 @@ Route::post('/email/verification-notification', function (Request $request) {
})->middleware(['auth', 'throttle:6,1'])->name('verification.send');
/*
Route::group(['middleware' => ['guest', 'verified']], function(){
Route::get('/', function () {
return view('home');
}) -> name('home');
});
*/
Route::group(['middleware' => 'guest'], function(){
Route::get('/register', [UserController::class, 'create']) -> name('register.create');
......@@ -73,7 +83,14 @@ Route::group(['middleware' => 'guest'], function(){
Route::group(['middleware' => 'auth'], function(){
Route::get('/logout', [UserController::class, 'logout']) -> name('logout');
//Route::get('/settings', [UserController::class, 'settings']) -> name('settings');
//Route::post('/settings', [UserController::class, 'edit']) -> name('settings.edit');
});
Route::group(['middleware' => ['verified']], function(){
Route::get('/settings', [UserController::class, 'settings']) -> name('settings');
Route::post('/settings', [UserController::class, 'edit']) -> name('settings.edit');
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment