Change summary
forms/admin_number_change.rb | 16 +++++++++++++++-
lib/admin_actions/number_change.rb | 6 +++++-
2 files changed, 20 insertions(+), 2 deletions(-)
Detailed changes
@@ -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
@@ -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)