Allow entering a particular number to buy

Stephen Paul Weber created

Change summary

lib/tel_selections.rb | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)

Detailed changes

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)
 				)