fix: handle checkbox 'on' value for cloud poller creation

HTML checkboxes send value='on' when checked, not 'true'. Updated
parse_agent_params to accept both 'on' and 'true' values for the
is_cloud_poller field.

Added debug logging to help diagnose future form submission issues.
This commit is contained in:
Graham McIntire 2026-01-25 08:22:31 -06:00
parent 83868a6028
commit e27cc5495a
No known key found for this signature in database

View file

@ -61,7 +61,12 @@ defmodule ToweropsWeb.AgentLive.Index do
@impl true
def handle_event("create_agent", params, socket) do
require Logger
Logger.debug("create_agent params: #{inspect(params)}")
{name, is_cloud_poller} = parse_agent_params(params)
Logger.debug("Parsed: name=#{name}, is_cloud_poller=#{is_cloud_poller}")
with :ok <- validate_cloud_poller_permission(socket.assigns.current_scope.user, is_cloud_poller),
{:ok, agent_token, token} <- create_agent(socket.assigns.current_organization, name, is_cloud_poller) do
@ -189,7 +194,7 @@ defmodule ToweropsWeb.AgentLive.Index do
defp parse_agent_params(params) do
case params do
%{"agent_form" => %{"name" => n, "is_cloud_poller" => cp}} ->
{n, cp == "true" || cp == true}
{n, cp in ["true", "on", true]}
%{"agent_form" => %{"name" => n}} ->
{n, false}