lib/tel_selections.rb 🔗
@@ -42,7 +42,10 @@ class TelSelections
reply.allowed_actions = [:next]
reply.command << FormTemplate.render("tn_search", error: error)
}.then do |iq|
- choose_from_list(AvailableNumber.for(iq.form).tns)
+ available = AvailableNumber.for(iq.form)
+ next available if available.is_a?(String)
+
+ choose_from_list(available.tns)
rescue StandardError
choose_tel(error: $!.to_s)
end
@@ -64,9 +67,12 @@ class TelSelections
class AvailableNumber
def self.for(form)
+ q = form.field("q")&.value.to_s.strip
+ return q if q =~ /\A\+1\d{10}\Z/
+
new(
Q
- .for(form.field("q").value.to_s.strip).iris_query
+ .for(q).iris_query
.merge(enableTNDetail: true, LCA: false)
.merge(Quantity.for(form).iris_query)
)