From 3c8fa33c7ffc3a68b221b2f266bab4a2e24006e0 Mon Sep 17 00:00:00 2001 From: Phillip Davis Date: Fri, 12 Dec 2025 14:50:30 -0500 Subject: [PATCH] add sgx dropdown for number_change - detect if resource-part indicates a client that renders open validation in forms --- forms/admin_number_change.rb | 16 +++++++++++++++- lib/admin_actions/number_change.rb | 6 +++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/forms/admin_number_change.rb b/forms/admin_number_change.rb index 9d19ec4f214bb0e4c95b5bde3ce12f0d747dd418..0eaa289d91468582d60113a037b9684cac3062cf 100644 --- a/forms/admin_number_change.rb +++ b/forms/admin_number_change.rb @@ -18,9 +18,23 @@ field( field( var: "new_backend", - type: "text-single", + type: "list-single", + open: @cheogram, label: "Backend to change to?", description: "Leave blank to keep current backend, or specify new backend JID", + options: [{ label: "(keep current)", value: "" }] + + (CONFIG[:sgx_creds].keys.map(&:to_s) + [CONFIG[:sgx]]).map { |b| + { label: b, value: b } + }, value: "" ) + +unless @cheogram + field( + var: "custom_backend", + type: "text-single", + label: "Custom backend (overrides dropdown if filled in)", + value: "" + ) +end diff --git a/lib/admin_actions/number_change.rb b/lib/admin_actions/number_change.rb index 23ec6ee48acca25fd9f98cee47e23a8e01ab3379..9a67c5a2adb9ba55432c51c337bf806b6a2479a4 100644 --- a/lib/admin_actions/number_change.rb +++ b/lib/admin_actions/number_change.rb @@ -26,7 +26,8 @@ class AdminAction end def form - FormTemplate.render("admin_number_change") + cheogram = ::Command.execution.iq.from.resource =~ /\ACheogram/ + FormTemplate.render("admin_number_change", cheogram: cheogram) end def change(result) @@ -36,6 +37,9 @@ class AdminAction .reject { |_k, v| v == "nil" || v.to_s.empty? } .tap { |form_h| form_h["new_backend"] ||= @bag[:old_backend] + if (custom = form_h.delete("custom_backend")) + form_h["new_backend"] = custom + end form_h["new_tel"] ||= @bag[:old_tel] } .transform_keys(&:to_sym)