From 5e7576bc3f9180f96ab813e23ef9f0d333dd2718 Mon Sep 17 00:00:00 2001
From: Graham McIntire
Date: Mon, 26 Jan 2026 14:05:44 -0600
Subject: [PATCH] api token whitespace fix and magic link login fix
---
lib/towerops_web/live/user_settings_live.ex | 26 +++++++++++++++++----
lib/towerops_web/user_auth.ex | 20 +++++++++++++---
2 files changed, 39 insertions(+), 7 deletions(-)
diff --git a/lib/towerops_web/live/user_settings_live.ex b/lib/towerops_web/live/user_settings_live.ex
index d6b95798..151573d8 100644
--- a/lib/towerops_web/live/user_settings_live.ex
+++ b/lib/towerops_web/live/user_settings_live.ex
@@ -1042,11 +1042,29 @@ defmodule ToweropsWeb.UserSettingsLive do
-
-
- {@created_token}
-
+
+
+
+
+ Click the token to select all, or use the Copy button
+
diff --git a/lib/towerops_web/user_auth.ex b/lib/towerops_web/user_auth.ex
index bad284bf..4261e3a4 100644
--- a/lib/towerops_web/user_auth.ex
+++ b/lib/towerops_web/user_auth.ex
@@ -46,9 +46,12 @@ defmodule ToweropsWeb.UserAuth do
def log_in_user(conn, user, params \\ %{}) do
user_return_to = get_session(conn, :user_return_to)
- conn
- |> create_or_extend_session(user, params)
- |> redirect(to: user_return_to || signed_in_path(user))
+ conn =
+ conn
+ |> create_or_extend_session(user, params)
+ |> maybe_set_default_organization(user)
+
+ redirect(conn, to: user_return_to || signed_in_path(user))
end
@doc """
@@ -203,6 +206,17 @@ defmodule ToweropsWeb.UserAuth do
defp maybe_write_remember_me_cookie(conn, _token, _params, _), do: conn
+ defp maybe_set_default_organization(conn, user) do
+ # Set the first organization in the session to support routes that require organization context
+ case Towerops.Organizations.list_user_organizations(user.id) do
+ [first_org | _] ->
+ put_session(conn, :current_organization_id, first_org.id)
+
+ [] ->
+ conn
+ end
+ end
+
defp write_remember_me_cookie(conn, token) do
conn
|> put_session(:user_remember_me, true)