From bd135d6a5d7c536b059ca61b583a772802f679b1 Mon Sep 17 00:00:00 2001 From: Manny Dinssa Date: Mon, 8 Jul 2024 10:20:25 +0100 Subject: [PATCH] Sort by alphabetical section first, then by numerical --- app/models/form/lettings/questions/location_id.rb | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/models/form/lettings/questions/location_id.rb b/app/models/form/lettings/questions/location_id.rb index 371f66a08..4ada2f27a 100644 --- a/app/models/form/lettings/questions/location_id.rb +++ b/app/models/form/lettings/questions/location_id.rb @@ -30,7 +30,12 @@ class Form::Lettings::Questions::LocationId < ::Form::Question return {} unless lettings_log.scheme scheme_location_ids = lettings_log.scheme.locations.visible.confirmed.pluck(:id) - answer_options.select { |k, _v| scheme_location_ids.include?(k.to_i) }.sort_by { |_k, v| v["hint"] } + answer_options.select { |k, _v| scheme_location_ids.include?(k.to_i) } + .sort_by do |_, v| + name = v["hint"].match(/[a-zA-Z].*/).to_s + number = v["hint"].match(/\d+/).to_s.to_i + [name, number] + end end def hidden_in_check_answers?(lettings_log, _current_user = nil)