diff --git a/lib/towerops_web/user_auth.ex b/lib/towerops_web/user_auth.ex index f4343f5b..269bdcbe 100644 --- a/lib/towerops_web/user_auth.ex +++ b/lib/towerops_web/user_auth.ex @@ -528,13 +528,19 @@ defmodule ToweropsWeb.UserAuth do ip_address: ip }) - # Restore superuser session + # Restore superuser session and redirect to their default org's equipment page + redirect_path = + case Towerops.Organizations.list_user_organizations(superuser.id) do + [first_org | _] -> ~p"/orgs/#{first_org.slug}/equipment" + [] -> ~p"/orgs" + end + conn |> delete_session(:superuser_id) |> delete_session(:target_user_id) |> delete_session(:impersonating) |> assign(:current_scope, Scope.for_user(superuser)) |> put_flash(:info, "Stopped impersonating") - |> redirect(to: ~p"/admin") + |> redirect(to: redirect_path) end end