Fix exit impersonation redirect to go to default org equipment page

When exiting impersonation, now redirects to the superuser's default
organization's equipment list page instead of /admin. Falls back to /orgs
if the superuser has no organizations.
This commit is contained in:
Graham McIntire 2026-01-06 13:55:57 -06:00
parent 139a42531f
commit 673ad13db8
No known key found for this signature in database

View file

@ -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