Skip to content

Commit d26b525

Browse files
Several fixes
1 parent 94b003e commit d26b525

File tree

3 files changed

+17
-12
lines changed

3 files changed

+17
-12
lines changed

src/app/Http/Controllers/Operations/ImpersonateUserOperation.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ public function impersonateUser(int $id): RedirectResponse
7878
}
7979

8080
// Login
81+
Auth::guard(config('impersonate_user.base_guard'))->logout();
82+
Session::flush();
8183
Auth::guard(config('impersonate_user.base_guard'))->loginUsingId($id, false);
8284

8385
// Remember impersonator session
@@ -102,13 +104,12 @@ public function exitImpersonatedUser(): RedirectResponse
102104
}
103105

104106
// Login impersonator back
105-
Auth::guard(config('impersonate_user.base_guard'))->loginUsingId(intval(Session::get(config('impersonate_user.session_key'))));
106-
107-
// Remove impersonator session
108-
Session::forget(config('impersonate_user.session_key'));
107+
Auth::guard(config('impersonate_user.base_guard'))->logout();
108+
$idOriginalUser = intval(Session::get(config('impersonate_user.session_key')));
109109
$redirect = Session::get(config('impersonate_user.session_key') . '_last_url');
110-
Session::forget(config('impersonate_user.session_key') . '_last_url');
111-
Session::forget(config('impersonate_user.session_key') . '_exit_route');
110+
111+
Session::flush();
112+
Auth::guard(config('impersonate_user.base_guard'))->loginUsingId($idOriginalUser);
112113

113114
// Feedback
114115
Alert::add('success', __('impersonate_user::messages.back_after_impersonating', ['username' => backpack_user()->name]))->flash();
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
@if(Session::has(config('impersonate_user.session_key')) && Session::has(config('impersonate_user.session_key') . '_exit_route'))
2-
<form method="post" action="{{ Session::get(config('impersonate_user.session_key') . '_exit_route') }}">
2+
<form method="post" action="{{ url(Session::get(config('impersonate_user.session_key') . '_exit_route')) }}">
33
@csrf
4-
<button type="submit" class="{{ $class ?? 'btn btn-warning' }}">
4+
<button type="submit" class="{{ $class ?? 'btn btn-warning me-2' }}">
55
<i class="la la-arrow-left"></i> {{ $label ?? 'Back to my user' }}
66
</button>
77
</form>
8-
@endif
8+
@endif
Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
@if(!Session::has(config('impersonate_user.session_key')) && backpack_user()->canImpersonateOthers() && $entry->canBeImpersonated())
22
<form class="d-inline-block" method="post" action="{{ url($crud->route . '/impersonate-user/' . $entry->getKey()) }}">
33
@csrf
4-
<button type="submit" class="btn btn-link"><i class="la la-unlock"></i> {{ __('impersonate_user::messages.btn_impersonate') }}</button>
4+
<button type="submit" class="btn btn-sm btn-link">
5+
<i class="la la-unlock me-1"></i> {{ __('impersonate_user::messages.btn_impersonate') }}
6+
</button>
57
</form>
68
@elseif(Session::has(config('impersonate_user.session_key')) && backpack_user()->id === $entry->getKey())
79
<form class="d-inline-block" method="post" action="{{ url($crud->route . '/exit-impersonated-user') }}">
810
@csrf
9-
<button type="submit" class="btn btn-link"><i class="la la-lock {{ config('impersonate_user.btn_exit_custom_class') }}"></i> {{ __('impersonate_user::messages.btn_exit_impersonated') }}</button>
11+
<button type="submit" class="btn btn-sm btn-link">
12+
<i class="la la-lock {{ config('impersonate_user.btn_exit_custom_class') }}"></i> {{ __('impersonate_user::messages.btn_exit_impersonated') }}
13+
</button>
1014
</form>
11-
@endif
15+
@endif

0 commit comments

Comments
 (0)