diff --git a/app/Livewire/Admin/Index.php b/app/Livewire/Admin/Index.php index 359db6329..b5f6d2929 100644 --- a/app/Livewire/Admin/Index.php +++ b/app/Livewire/Admin/Index.php @@ -21,16 +21,28 @@ class Index extends Component public function mount() { - if (! isCloud()) { + if (! isCloud() && ! isDev()) { return redirect()->route('dashboard'); } - - if (Auth::id() !== 0) { + if (Auth::id() !== 0 && ! session('impersonating')) { return redirect()->route('dashboard'); } $this->getSubscribers(); } + public function back() + { + if (session('impersonating')) { + session()->forget('impersonating'); + $user = User::find(0); + $team_to_switch_to = $user->teams->first(); + Auth::login($user); + refreshSession($team_to_switch_to); + + return redirect(request()->header('Referer')); + } + } + public function submitSearch() { if ($this->search !== '') { @@ -52,9 +64,10 @@ class Index extends Component if (Auth::id() !== 0) { return redirect()->route('dashboard'); } + session(['impersonating' => true]); $user = User::find($user_id); $team_to_switch_to = $user->teams->first(); - Cache::forget("team:{$user->id}"); + // Cache::forget("team:{$user->id}"); Auth::login($user); refreshSession($team_to_switch_to); diff --git a/resources/views/components/navbar.blade.php b/resources/views/components/navbar.blade.php index 7d343c645..9a75200b1 100644 --- a/resources/views/components/navbar.blade.php +++ b/resources/views/components/navbar.blade.php @@ -340,17 +340,19 @@ @endif - @if (isCloud() && isInstanceAdmin()) -
  • - - - - - Admin - -
  • + @if (isCloud() || isDev()) + @if (isInstanceAdmin() || session('impersonating')) +
  • + + + + + Admin + +
  • + @endif @endif
    @if (isInstanceAdmin() && !isCloud()) diff --git a/resources/views/livewire/admin/index.blade.php b/resources/views/livewire/admin/index.blade.php index 06914e1e4..7bf3c7c0c 100644 --- a/resources/views/livewire/admin/index.blade.php +++ b/resources/views/livewire/admin/index.blade.php @@ -1,7 +1,12 @@

    Admin Dashboard

    -

    Who am I now?

    -
    {{ auth()->user()->name }}
    +
    +

    Who am I now?

    + @if (session('impersonating')) + Go back to root + @endif +
    +
    {{ auth()->user()->name }} ({{ auth()->user()->email }})
    Search