diff --git a/app/Http/Controllers/Auth/ImpersonatedUserController.php b/app/Http/Controllers/Auth/ImpersonatedUserController.php index aa20423..8e0d59b 100644 --- a/app/Http/Controllers/Auth/ImpersonatedUserController.php +++ b/app/Http/Controllers/Auth/ImpersonatedUserController.php @@ -11,6 +11,7 @@ class ImpersonatedUserController extends Controller public function store(User $user) { Session()->put('impersonate', Auth::id()); + Session()->put('impersonate_name', $user->name); Auth::login($user); @@ -24,6 +25,7 @@ public function destroy() Auth::loginUsingId($adminId); Session()->forget('impersonate'); + Session()->forget('impersonate_name'); return to_route('admin.dashboard'); } diff --git a/resources/views/components/impersonate-alert.blade.php b/resources/views/components/impersonate-alert.blade.php new file mode 100644 index 0000000..ce260e6 --- /dev/null +++ b/resources/views/components/impersonate-alert.blade.php @@ -0,0 +1,8 @@ +
{{$slot}}
+ @if(isset($slot)) +{{$slot}}
+ @endif @else diff --git a/routes/web/auth.php b/routes/web/auth.php index 6e4fc26..6b5f63f 100644 --- a/routes/web/auth.php +++ b/routes/web/auth.php @@ -17,7 +17,9 @@ ->middleware('auth') ->name('logout'); -Route::middleware([HasRole::class.':'.UserTypes::Admin->value, 'auth'])->group(function () { - Route::get('/impersonate/{user}', [ImpersonatedUserController::class, 'store'])->name('impersonate'); - Route::delete('/impersonate', [ImpersonatedUserController::class, 'destroy'])->name('impersonate.destroy'); +Route::middleware('auth')->group(function () { + Route::get('/impersonate/{user}', [ImpersonatedUserController::class, 'store']) + ->middleware(HasRole::class.':'.UserTypes::Admin->value) + ->name('impersonate'); + Route::get('/impersonate', [ImpersonatedUserController::class, 'destroy'])->name('impersonate.destroy'); });