diff options
| author | Zog | 2018-04-25 15:34:57 +0200 | 
|---|---|---|
| committer | Alban Peignier | 2018-04-25 22:44:51 +0200 | 
| commit | 0e64912dd2c299df543ed03e2cd6609bc7d6dec6 (patch) | |
| tree | e9fa08b24b8c231d4671bfc15a7e3c59ffc66950 /app | |
| parent | b930761de0a269c45876b2242e085e23070f8325 (diff) | |
| download | chouette-core-0e64912dd2c299df543ed03e2cd6609bc7d6dec6.tar.bz2 | |
Refs #6683; Uniformize the time_zones notation
Diffstat (limited to 'app')
| -rw-r--r-- | app/inputs/full_time_zone_input.rb | 24 | ||||
| -rw-r--r-- | app/views/companies/_form.html.slim | 2 | ||||
| -rw-r--r-- | app/views/referential_companies/_form.html.slim | 2 | ||||
| -rw-r--r-- | app/views/referential_stop_areas/_form.html.slim | 2 | ||||
| -rw-r--r-- | app/views/stop_areas/_form.html.slim | 2 | 
5 files changed, 28 insertions, 4 deletions
| diff --git a/app/inputs/full_time_zone_input.rb b/app/inputs/full_time_zone_input.rb new file mode 100644 index 000000000..f5d8a9ba2 --- /dev/null +++ b/app/inputs/full_time_zone_input.rb @@ -0,0 +1,24 @@ +class FullTimeZoneInput < SimpleForm::Inputs::CollectionSelectInput +  def collection +    @collection ||= begin +      collection = options.delete(:collection) || ActiveSupport::TimeZone::MAPPING +      collection.respond_to?(:call) ? collection.call : collection.to_a +    end +  end + +  def detect_collection_methods +    label, value = options.delete(:label_method), options.delete(:value_method) + +    label ||= ->(tz) do +      tz = ActiveSupport::TimeZone[tz.last] +      "(#{tz.formatted_offset}) #{tz.name}" +    end +    value ||= :last + +    [label, value] +  end + +  def input(wrapper_options = {}) +    super wrapper_options +  end +end diff --git a/app/views/companies/_form.html.slim b/app/views/companies/_form.html.slim index ec003b836..4aa08e267 100644 --- a/app/views/companies/_form.html.slim +++ b/app/views/companies/_form.html.slim @@ -9,7 +9,7 @@        = f.input :phone        = f.input :fax        = f.input :email, as: :email -      = f.input :time_zone, include_blank: true +      = f.input :time_zone, as: :full_time_zone, include_blank: true        = f.input :url        = f.input :registration_number, :input_html => {:title => t("formtastic.titles#{format_restriction_for_locales(@line_referential)}.company.registration_number")}        - if resource.custom_fields.present? diff --git a/app/views/referential_companies/_form.html.slim b/app/views/referential_companies/_form.html.slim index 0e7b20af4..bac6d6694 100644 --- a/app/views/referential_companies/_form.html.slim +++ b/app/views/referential_companies/_form.html.slim @@ -9,7 +9,7 @@        = f.input :phone        = f.input :fax        = f.input :email, as: :email -      = f.input :time_zone, include_blank: true +      = f.input :time_zone, as: :full_time_zone, include_blank: true        = f.input :url        = f.input :registration_number, :input_html => {:title => t("formtastic.titles#{format_restriction_for_locales(@line_referential)}.company.registration_number")}        - if resource.custom_fields(@referential.workgroup).any? diff --git a/app/views/referential_stop_areas/_form.html.slim b/app/views/referential_stop_areas/_form.html.slim index 3921c8bf1..bf416ebb0 100644 --- a/app/views/referential_stop_areas/_form.html.slim +++ b/app/views/referential_stop_areas/_form.html.slim @@ -30,7 +30,7 @@        = form.input :fare_code, as: :number        = form.input :nearest_topic_name, :input_html => { :title => t("formtastic.titles#{format_restriction_for_locales(@referential)}.stop_area.nearest_topic_name")}        = form.input :comment, as: :text, :input_html => { :rows => 5, :title => t("formtastic.titles#{format_restriction_for_locales(@referential)}.stop_area.comment") } -      = form.input :time_zone, :include_blank => true +      = form.input :time_zone, as: :full_time_zone, :include_blank => true        = form.input :url    .pmr_info diff --git a/app/views/stop_areas/_form.html.slim b/app/views/stop_areas/_form.html.slim index 220097a69..2ac316632 100644 --- a/app/views/stop_areas/_form.html.slim +++ b/app/views/stop_areas/_form.html.slim @@ -52,7 +52,7 @@            = f.input :fare_code            = f.input :nearest_topic_name, :input_html => {:title => t("formtastic.titles#{format_restriction_for_locales(@referential)}.stop_area.nearest_topic_name")}            = f.input :comment, as: :text, :input_html => {:rows => 5, :title => t("formtastic.titles#{format_restriction_for_locales(@referential)}.stop_area.comment")} -          = f.input :time_zone, :include_blank => true +          = f.input :time_zone, as: :full_time_zone, include_blank: true            = f.input :url          .pmr_info | 
