diff options
| author | Zog | 2018-05-03 09:50:23 +0200 | 
|---|---|---|
| committer | Zog | 2018-05-03 09:50:23 +0200 | 
| commit | bc2c7564f0afb7324c59dae67e359807ff78658f (patch) | |
| tree | 1529b3758f026c3cfeb17e2a78e0e8a91ba65cd6 | |
| parent | db65c0ffc7ccc76a144689ec3db43fbc2e61ee82 (diff) | |
| download | chouette-core-bc2c7564f0afb7324c59dae67e359807ff78658f.tar.bz2 | |
Refs #6867; Remove duplicated entries in TZ select
| -rw-r--r-- | app/inputs/full_time_zone_input.rb | 12 | 
1 files changed, 9 insertions, 3 deletions
| diff --git a/app/inputs/full_time_zone_input.rb b/app/inputs/full_time_zone_input.rb index f5d8a9ba2..b3f43fa19 100644 --- a/app/inputs/full_time_zone_input.rb +++ b/app/inputs/full_time_zone_input.rb @@ -1,7 +1,13 @@  class FullTimeZoneInput < SimpleForm::Inputs::CollectionSelectInput    def collection      @collection ||= begin -      collection = options.delete(:collection) || ActiveSupport::TimeZone::MAPPING +      collection = options.delete(:collection) || begin +        coll = ActiveSupport::TimeZone::MAPPING.invert +        coll.sort_by do |k, v| +          tz = ActiveSupport::TimeZone[k] +          "(#{tz.formatted_offset}) #{tz.name}" +        end +      end        collection.respond_to?(:call) ? collection.call : collection.to_a      end    end @@ -10,10 +16,10 @@ class FullTimeZoneInput < SimpleForm::Inputs::CollectionSelectInput      label, value = options.delete(:label_method), options.delete(:value_method)      label ||= ->(tz) do -      tz = ActiveSupport::TimeZone[tz.last] +      tz = ActiveSupport::TimeZone[tz.first]        "(#{tz.formatted_offset}) #{tz.name}"      end -    value ||= :last +    value ||= :first      [label, value]    end | 
