From 3629522d251d92f056b753e3351199e6d7614982 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Mon, 5 Jan 2026 13:18:09 -0600 Subject: [PATCH] Auto-select site when only one is available for new equipment --- lib/towerops_web/live/equipment_live/form.ex | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/towerops_web/live/equipment_live/form.ex b/lib/towerops_web/live/equipment_live/form.ex index 372bdef5..bba649ea 100644 --- a/lib/towerops_web/live/equipment_live/form.ex +++ b/lib/towerops_web/live/equipment_live/form.ex @@ -43,10 +43,19 @@ defmodule ToweropsWeb.EquipmentLive.Form do } equipment_attrs = - if socket.assigns.preselected_site_id do - Map.put(equipment_attrs, :site_id, socket.assigns.preselected_site_id) - else - equipment_attrs + cond do + # Use preselected site from URL params if available + socket.assigns.preselected_site_id -> + Map.put(equipment_attrs, :site_id, socket.assigns.preselected_site_id) + + # Auto-select if there's only one site + length(socket.assigns.available_sites) == 1 -> + site = List.first(socket.assigns.available_sites) + Map.put(equipment_attrs, :site_id, site.id) + + # Otherwise, leave it empty for user to select + true -> + equipment_attrs end changeset = Equipment.change_equipment(%EquipmentSchema{}, equipment_attrs)