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:
parent
139a42531f
commit
673ad13db8
1 changed files with 8 additions and 2 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue