From 9a642d186ec8ca9016dba59d925c1bdb079eb23f Mon Sep 17 00:00:00 2001
From: cedricnjanga
Date: Wed, 4 Oct 2017 23:20:41 +0200
Subject: Refs 4517 Add some modification to the two modules to add methods to
 list the sorted transport modes and submodes
---
 app/helpers/lines_helper.rb                                | 8 --------
 app/models/concerns/stif_transport_mode_enumerations.rb    | 7 ++++++-
 app/models/concerns/stif_transport_submode_enumerations.rb | 7 ++++++-
 app/views/compliance_control_blocks/_form.html.slim        | 4 ++--
 app/views/lines/_filters.html.slim                         | 4 ++--
 spec/models/line_referential_spec.rb                       | 2 +-
 6 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/app/helpers/lines_helper.rb b/app/helpers/lines_helper.rb
index e5062e43f..e9a4bd3c5 100644
--- a/app/helpers/lines_helper.rb
+++ b/app/helpers/lines_helper.rb
@@ -5,14 +5,6 @@ module LinesHelper
     line.number
   end
 
-  def sorted_transport_submode
-    Chouette::Line.transport_submodes.sort_by{|m| t("enumerize.transport_submode.#{m}").parameterize }
-  end
-
-  def sorted_transport_mode
-    Chouette::Line.transport_modes.sort_by{|m| t("enumerize.transport_mode.#{m}").parameterize }
-  end
-
   def colors?(line)
     line.text_color.present? || line.color.present?
   end
diff --git a/app/models/concerns/stif_transport_mode_enumerations.rb b/app/models/concerns/stif_transport_mode_enumerations.rb
index dc573b3a0..676154f73 100644
--- a/app/models/concerns/stif_transport_mode_enumerations.rb
+++ b/app/models/concerns/stif_transport_mode_enumerations.rb
@@ -1,10 +1,15 @@
 module StifTransportModeEnumerations
   extend ActiveSupport::Concern
   extend Enumerize
+  extend self
 
   enumerize :transport_mode, in: %w(air bus coach ferry metro rail trolleyBus tram water cableway funicular other)
 
   def transport_modes
-    StifTransportModeEnumerations.transport_mode.options.map(&:first)
+    StifTransportModeEnumerations.transport_mode.values
+  end
+
+  def sorted_transport_modes
+    self.transport_modes.sort_by{|m| I18n.t("enumerize.transport_mode.#{m}").parameterize }
   end
 end
diff --git a/app/models/concerns/stif_transport_submode_enumerations.rb b/app/models/concerns/stif_transport_submode_enumerations.rb
index a150381f3..6322b2dae 100644
--- a/app/models/concerns/stif_transport_submode_enumerations.rb
+++ b/app/models/concerns/stif_transport_submode_enumerations.rb
@@ -1,10 +1,15 @@
 module StifTransportSubmodeEnumerations
   extend ActiveSupport::Concern
   extend Enumerize
+  extend self
 
   enumerize :transport_submode, in: %w(unknown undefined internationalFlight domesticFlight intercontinentalFlight domesticScheduledFlight shuttleFlight intercontinentalCharterFlight internationalCharterFlight roundTripCharterFlight sightseeingFlight helicopterService domesticCharterFlight SchengenAreaFlight airshipService shortHaulInternationalFlight canalBarge localBus regionalBus expressBus nightBus postBus specialNeedsBus mobilityBus mobilityBusForRegisteredDisabled sightseeingBus shuttleBus highFrequencyBus dedicatedLaneBus schoolBus schoolAndPublicServiceBus railReplacementBus demandAndResponseBus airportLinkBus internationalCoach nationalCoach shuttleCoach regionalCoach specialCoach schoolCoach sightseeingCoach touristCoach commuterCoach metro tube urbanRailway local highSpeedRail suburbanRailway regionalRail interregionalRail longDistance intermational sleeperRailService nightRail carTransportRailService touristRailway railShuttle replacementRailService specialTrain crossCountryRail rackAndPinionRailway cityTram localTram regionalTram sightseeingTram shuttleTram trainTram internationalCarFerry nationalCarFerry regionalCarFerry localCarFerry internationalPassengerFerry nationalPassengerFerry regionalPassengerFerry localPassengerFerry postBoat trainFerry roadFerryLink airportBoatLink highSpeedVehicleService highSpeedPassengerService sightseeingService schoolBoat cableFerry riverBus scheduledFerry shuttleFerryService telecabin cableCar lift chairLift dragLift telecabinLink funicular streetCableCar allFunicularServices undefinedFunicular)
 
   def transport_submodes
-    StifTransportSubmodeEnumerations.transport_submode.options.map(&:first)
+    StifTransportSubmodeEnumerations.transport_submode.values
+  end
+
+  def sorted_transport_submodes
+    self.transport_submodes.sort_by{|m| I18n.t("enumerize.transport_submode.#{m}").parameterize }
   end
 end
diff --git a/app/views/compliance_control_blocks/_form.html.slim b/app/views/compliance_control_blocks/_form.html.slim
index 88fa7e98b..2e87a877e 100644
--- a/app/views/compliance_control_blocks/_form.html.slim
+++ b/app/views/compliance_control_blocks/_form.html.slim
@@ -2,8 +2,8 @@
   .row
     .col-lg-12
       .form-group
-        = f.input :transport_mode, as: :select, collection: ComplianceControlBlock.transport_modes, label: t('activerecord.attributes.compliance_control_blocks.transport_mode') 
-        = f.input :transport_submode, as: :select, collection: ComplianceControlBlock.transport_submodes, label: t('activerecord.attributes.compliance_control_blocks.transport_submode')
+        = f.input :transport_mode, as: :select, collection: ComplianceControlBlock.sorted_transport_modes, label: t('activerecord.attributes.compliance_control_blocks.transport_mode'), label_method: lambda {|t| ("" + t("enumerize.transport_mode.#{t}") + "").html_safe }
+        = f.input :transport_submode, as: :select, collection: ComplianceControlBlock.sorted_transport_submodes, label: t('activerecord.attributes.compliance_control_blocks.transport_submode'), label_method: lambda {|t| ("" + t("enumerize.transport_submode.#{t}") + "").html_safe }
 
   .separator
 
diff --git a/app/views/lines/_filters.html.slim b/app/views/lines/_filters.html.slim
index 01c2da58f..7662c41b5 100644
--- a/app/views/lines/_filters.html.slim
+++ b/app/views/lines/_filters.html.slim
@@ -17,11 +17,11 @@
 
     .form-group.togglable
       = f.label Chouette::Line.human_attribute_name(:transport_mode), required: false, class: 'control-label'
-      = f.input :transport_mode_eq_any, collection: sorted_transport_mode, as: :check_boxes, label: false, label_method: lambda{|l| ("" + t("enumerize.transport_mode.#{l}") + "").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
+      = f.input :transport_mode_eq_any, collection: Chouette::Line.sorted_transport_modes, as: :check_boxes, label: false, label_method: lambda{|l| ("" + t("enumerize.transport_mode.#{l}") + "").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
 
     .form-group.togglable
       = f.label Chouette::Line.human_attribute_name(:transport_submode), required: false, class: 'control-label'
-      = f.input :transport_submode_eq_any, collection: sorted_transport_submode, as: :check_boxes, label: false, label_method: lambda{|l| ("" + t("enumerize.transport_submode.#{l}") + "").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
+      = f.input :transport_submode_eq_any, collection: Chouette::Line.sorted_transport_submodes, as: :check_boxes, label: false, label_method: lambda{|l| ("" + t("enumerize.transport_submode.#{l}") + "").html_safe}, required: false, wrapper_html: { class: 'checkbox_list'}
 
   .actions
     = link_to 'Effacer', @workbench, class: 'btn btn-link'
diff --git a/spec/models/line_referential_spec.rb b/spec/models/line_referential_spec.rb
index c156a3d5c..8c6cb018b 100644
--- a/spec/models/line_referential_spec.rb
+++ b/spec/models/line_referential_spec.rb
@@ -12,7 +12,7 @@ RSpec.describe LineReferential, :type => :model do
 
   describe "#transport_modes" do
     it 'returns a list of all transport modes' do
-      expect(FactoryGirl.create(:line_referential).class.transport_modes).to match_array(StifTransportModeEnumerations.transport_mode.options.map(&:first) )
+      expect(FactoryGirl.create(:line_referential).class.transport_modes).to match_array(StifTransportModeEnumerations.transport_modes )
     end
   end
 end
-- 
cgit v1.2.3
From 92f6e7aa1427d7057f33db56a9c9434525901f11 Mon Sep 17 00:00:00 2001
From: cedricnjanga
Date: Wed, 4 Oct 2017 23:22:45 +0200
Subject: Remove cattr_accessor form ransack date filter concern
---
 app/controllers/concerns/ransack_date_filter.rb | 1 -
 1 file changed, 1 deletion(-)
diff --git a/app/controllers/concerns/ransack_date_filter.rb b/app/controllers/concerns/ransack_date_filter.rb
index 9c2755186..0fbde91d3 100644
--- a/app/controllers/concerns/ransack_date_filter.rb
+++ b/app/controllers/concerns/ransack_date_filter.rb
@@ -1,6 +1,5 @@
 module RansackDateFilter
   extend ActiveSupport::Concern
-  cattr_accessor :date_param
 
   included do
 
-- 
cgit v1.2.3
From 08517c27551a2dd8b227f6662f4c41574a36d81e Mon Sep 17 00:00:00 2001
From: cedricnjanga
Date: Thu, 5 Oct 2017 01:18:25 +0200
Subject: Refs #4693 Change view bug on transport submode due to last
 Codifligne sync
---
 app/views/lines/index.html.slim            | 4 ++--
 app/views/lines/show.html.slim             | 4 ++--
 app/views/referential_lines/show.html.slim | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/app/views/lines/index.html.slim b/app/views/lines/index.html.slim
index 4ee91e8f8..87c3a69e7 100644
--- a/app/views/lines/index.html.slim
+++ b/app/views/lines/index.html.slim
@@ -48,11 +48,11 @@
               ), \
               TableBuilderHelper::Column.new( \
                 key: :transport_mode, \
-                attribute: Proc.new { |n| n.transport_mode.nil? ? '-' :  t("enumerize.transport_mode.#{n.try(:transport_mode)}") } \
+                attribute: Proc.new { |n| n.transport_mode.present? ? t("enumerize.transport_mode.#{n.try(:transport_mode)}") : "-" } \
               ), \
               TableBuilderHelper::Column.new( \
                 key: :transport_submode, \
-                attribute: Proc.new { |n| n.transport_submode.nil? ? '-' :  t("enumerize.transport_submode.#{n.try(:transport_submode)}") } \
+                attribute: Proc.new { |n| n.transport_submode.present? ? t("enumerize.transport_submode.#{n.try(:transport_submode)}") : "-" } \
               ) \
             ],
             links: [:show],
diff --git a/app/views/lines/show.html.slim b/app/views/lines/show.html.slim
index 201aa2ae4..b16b6472a 100644
--- a/app/views/lines/show.html.slim
+++ b/app/views/lines/show.html.slim
@@ -27,7 +27,7 @@
              'Transporteur(s) secondaire(s)' => (@line.secondary_companies.nil? ? t('lines.index.unset') : @line.secondary_companies.collect(&:name).join(', ')),
              'Nom court' => @line.number,
              'Code public' => (@line.registration_number ? @line.registration_number : '-'),
-             @line.human_attribute_name(:transport_mode) => (@line.transport_mode ? t("enumerize.transport_mode.#{@line.transport_mode}") : '-'),
-             @line.human_attribute_name(:transport_submode) => (@line.transport_submode ? t("enumerize.transport_submode.#{@line.transport_submode}") : '-'),
+             @line.human_attribute_name(:transport_mode) => (@line.transport_mode.present? ? t("enumerize.transport_mode.#{@line.transport_mode}") : '-'),
+             @line.human_attribute_name(:transport_submode) => (@line.transport_submode.present? ? t("enumerize.transport_submode.#{@line.transport_submode}") : '-'),
              @line.human_attribute_name(:url) => (@line.url ? @line.url : '-'),
              @line.human_attribute_name(:seasonal) => (@line.seasonal? ? t('true') : t('false')),}
diff --git a/app/views/referential_lines/show.html.slim b/app/views/referential_lines/show.html.slim
index 06a52a45d..ffcb9b5e0 100644
--- a/app/views/referential_lines/show.html.slim
+++ b/app/views/referential_lines/show.html.slim
@@ -27,8 +27,8 @@
              'Transporteur(s) secondaire(s)' => (@line.secondary_companies.nil? ? t('lines.index.unset') : @line.secondary_companies.collect(&:name).join(', ')),
              'Nom court' => @line.number,
              'Code public' => (@line.registration_number ? @line.registration_number : '-'),
-             @line.human_attribute_name(:transport_mode) => (@line.transport_mode ? t("enumerize.transport_mode.#{@line.transport_mode}") : '-'),
-             @line.human_attribute_name(:transport_submode) => (@line.transport_submode ? t("enumerize.transport_submode.#{@line.transport_submode}") : '-'),
+             @line.human_attribute_name(:transport_mode) => (@line.transport_mode.present? ? t("enumerize.transport_mode.#{@line.transport_mode}") : '-'),
+             @line.human_attribute_name(:transport_submode) => (@line.transport_submode.present? ? t("enumerize.transport_submode.#{@line.transport_submode}") : '-'),
              @line.human_attribute_name(:url) => (@line.url ? @line.url : '-'),
              @line.human_attribute_name(:seasonal) => (@line.seasonal? ? t('true') : t('false')),}
 
-- 
cgit v1.2.3