aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvlatka pavisic2016-11-14 13:56:37 +0100
committervlatka pavisic2016-11-14 13:56:43 +0100
commitbb3f2ded05e09451d59a97c6de4c332a3fa73b90 (patch)
tree3cdbe9ac55026ae2128e8476f89712e1bb3e5963
parent32f12d8a3db8cae6cf29c9c85aeb9d899aecf814 (diff)
downloadchouette-core-bb3f2ded05e09451d59a97c6de4c332a3fa73b90.tar.bz2
Refs #1936 : transport modes
-rw-r--r--app/models/line_referential.rb4
-rw-r--r--app/views/lines/_form.html.slim2
-rw-r--r--app/views/referential_lines/_form.html.slim6
-rw-r--r--app/views/rule_parameter_sets/_form.html.slim5
-rw-r--r--app/views/rule_parameter_sets/show.html.slim18
-rw-r--r--app/views/vehicle_journeys/_form.html.slim4
-rw-r--r--spec/models/line_referential_spec.rb6
-rw-r--r--spec/views/vehicle_journeys/_form.html.erb_spec.rb16
8 files changed, 36 insertions, 25 deletions
diff --git a/app/models/line_referential.rb b/app/models/line_referential.rb
index e1f048fd8..7096fd6ff 100644
--- a/app/models/line_referential.rb
+++ b/app/models/line_referential.rb
@@ -26,4 +26,8 @@ class LineReferential < ActiveRecord::Base
def last_sync
line_referential_syncs.last
end
+
+ def transport_modes
+ Chouette::TransportMode.all.select { |tm| tm.positive? }
+ end
end
diff --git a/app/views/lines/_form.html.slim b/app/views/lines/_form.html.slim
index ace0c4548..6c847b275 100644
--- a/app/views/lines/_form.html.slim
+++ b/app/views/lines/_form.html.slim
@@ -6,7 +6,7 @@
= form.input :published_name
= form.input :registration_number, :input_html => { :title => t("formtastic.titles#{format_restriction_for_locales(@line_referential)}.line.registration_number")}
= form.input :number, :input_html => { :title => t("formtastic.titles#{format_restriction_for_locales(@line_referential)}.line.number") }
- = form.input :transport_mode, as: :select, :collection => Chouette::Line.transport_modes, :include_blank => false, :member_label => Proc.new { |mode| t("transport_modes.label.#{mode}") }
+ = form.input :transport_mode, as: :select, :collection => @line.line_referential.transport_modes, :include_blank => false, :member_label => Proc.new { |mode| t("transport_modes.label.#{mode}") }
= form.input :color, as: :string
= form.input :text_color
= form.input :stable_id
diff --git a/app/views/referential_lines/_form.html.slim b/app/views/referential_lines/_form.html.slim
index f4e49b3a3..bc185c2a6 100644
--- a/app/views/referential_lines/_form.html.slim
+++ b/app/views/referential_lines/_form.html.slim
@@ -6,7 +6,7 @@
= form.input :published_name
= form.input :registration_number, :input_html => { :title => t("formtastic.titles#{format_restriction_for_locales(@referential)}.line.registration_number") }
= form.input :number, :input_html => { :title => t("formtastic.titles#{format_restriction_for_locales(@referential)}.line.number") }
- = form.input :transport_mode, as: :select, :collection => Chouette::Line.transport_modes, :include_blank => false, :member_label => Proc.new { |mode| t("transport_modes.label.#{mode}") }
+ = form.input :transport_mode, as: :select, :collection => @line.transport_modes, :include_blank => false, :member_label => Proc.new { |mode| t("transport_modes.label.#{mode}") }
= form.input :color, as: :string
= form.input :text_color
= form.input :stable_id
@@ -19,7 +19,7 @@
.footnotes_block
h3 = t("footnotes.index.title")
-
+
#footnotes
= form.semantic_fields_for :footnotes do |f|
= render "footnotes/footnote_fields", f: f
@@ -42,4 +42,4 @@ javascript:
noResultsText: "#{I18n.t('no_result_text')}",
searchingText: "#{I18n.t('searching_term')}"
});
- }); \ No newline at end of file
+ });
diff --git a/app/views/rule_parameter_sets/_form.html.slim b/app/views/rule_parameter_sets/_form.html.slim
index 74ad9ae3b..de3368a1b 100644
--- a/app/views/rule_parameter_sets/_form.html.slim
+++ b/app/views/rule_parameter_sets/_form.html.slim
@@ -25,7 +25,7 @@
thead
tr
th = t("transport_modes.name")
-
+
- RuleParameterSet.mode_attribute_prefixes.each do |prefix|
- if prefix == "allowed_transport"
- hidden = (@rule_parameter_set.check_allowed_transport_modes == "1") ? "" : 'display:none;'
@@ -35,6 +35,7 @@
th = RuleParameterSet.human_attribute_name(prefix)
tbody
+ / To be removed, see #1936
- Chouette::Line.transport_modes.map(&:to_s).each do |mode|
tr
== render partial: "mode_fields", :locals => { f: form, mode: mode }
@@ -69,4 +70,4 @@ javascript:
$( "#rule_parameter_set_check_allowed_transport_modes").change( function() {
$(".allowed").toggle();
});
- }); \ No newline at end of file
+ });
diff --git a/app/views/rule_parameter_sets/show.html.slim b/app/views/rule_parameter_sets/show.html.slim
index 2d54f4572..72a8fa99c 100644
--- a/app/views/rule_parameter_sets/show.html.slim
+++ b/app/views/rule_parameter_sets/show.html.slim
@@ -5,10 +5,10 @@
p
label = "#{RuleParameterSet.human_attribute_name('stop_areas_area')} : "
= @rule_parameter_set.stop_areas_area
-
+
.attributes_group
span.title = t(".min_distance")
-
+
.columns
.two_columns
label = "#{t('.inter_stop_area_distance_min')} : "
@@ -20,7 +20,7 @@
.attributes_group
span.title = t(".max_distance")
-
+
.columns
.two_columns
label = "#{t('.parent_stop_area_distance_max')} : "
@@ -91,23 +91,23 @@
table.table.table-striped.table-condensed
tr
th = t("transport_modes.name")
-
+
- RuleParameterSet.mode_attribute_prefixes.each do |prefix|
- unless prefix == "allowed_transport"
th = RuleParameterSet.human_attribute_name(prefix)
-
+ / To be removed, see #1936
- Chouette::Line.transport_modes.map(&:to_s).each do |mode|
- if @rule_parameter_set.allowed(mode)
tr
td = t("transport_modes.label.#{mode}")
-
+
- RuleParameterSet.mode_attribute_prefixes.each do |prefix|
- unless prefix == "allowed_transport"
td = @rule_parameter_set.send "#{prefix}_mode_#{mode}"
.rule_parameter_by_object
label = t("rule_parameter_sets.labels.columns_restrictions")
-
+
table.table.table-bordered.table-condensed
- RuleParameterSet.validable_object_names.each do |object_name|
- if @rule_parameter_set.selected(object_name)
@@ -119,7 +119,7 @@
th = RuleParameterSet.human_attribute_name("string_type")
th = RuleParameterSet.human_attribute_name("min_size")
th = RuleParameterSet.human_attribute_name("max_size")
-
+
tbody
- RuleParameterSet.validable_columns[object_name].each do |col|
- if @rule_parameter_set.selected_column(object_name,col)
@@ -140,4 +140,4 @@
li = link_to t('rule_parameter_sets.actions.edit'), edit_organisation_rule_parameter_set_path( @rule_parameter_set), class: 'edit'
- if current_organisation.rule_parameter_sets.size > 1
- li = link_to t('rule_parameter_sets.actions.destroy'), organisation_rule_parameter_set_path( @rule_parameter_set), method: :delete, data: { confirm: t('rule_parameter_sets.actions.destroy_confirm') }, class: 'remove' \ No newline at end of file
+ li = link_to t('rule_parameter_sets.actions.destroy'), organisation_rule_parameter_set_path( @rule_parameter_set), method: :delete, data: { confirm: t('rule_parameter_sets.actions.destroy_confirm') }, class: 'remove'
diff --git a/app/views/vehicle_journeys/_form.html.slim b/app/views/vehicle_journeys/_form.html.slim
index bc26e1ac5..61d6b0e06 100644
--- a/app/views/vehicle_journeys/_form.html.slim
+++ b/app/views/vehicle_journeys/_form.html.slim
@@ -7,7 +7,7 @@
= form.input :published_journey_name
= form.input :published_journey_identifier
= form.input :comment
- = form.input :transport_mode_name, as: :select, :collection => Chouette::Line.transport_modes, :include_blank => true, :member_label => Proc.new { |mode| t("transport_modes.label.#{mode}") }
+ = form.input :transport_mode_name, as: :select, :collection => @line.line_referential.transport_modes, :include_blank => true, :member_label => Proc.new { |mode| t("transport_modes.label.#{mode}") }
= form.input :mobility_restricted_suitability, as: :select, :collection => [[vehicle_journey.human_attribute_name("accessible"), true], [vehicle_journey.human_attribute_name("not_accessible"), false]], :include_blank => true
= form.input :flexible_service, as: :select, :collection => [[vehicle_journey.human_attribute_name("on_demand_fs"), true], [vehicle_journey.human_attribute_name("regular_fs"), false]], :include_blank => true
= form.input :status_value
@@ -23,4 +23,4 @@
= form.action :submit, as: :button, label: t(".submit_#{vehicle_journey.journey_category}#{'_edit' unless form.object.new_record?}"), button_html: { class: 'btn btn-primary' }
= form.action :cancel, as: :link
-== render 'form_footer', vehicle_journey: vehicle_journey \ No newline at end of file
+== render 'form_footer', vehicle_journey: vehicle_journey
diff --git a/spec/models/line_referential_spec.rb b/spec/models/line_referential_spec.rb
index 02838a4a7..942795076 100644
--- a/spec/models/line_referential_spec.rb
+++ b/spec/models/line_referential_spec.rb
@@ -9,4 +9,10 @@ RSpec.describe LineReferential, :type => :model do
it { is_expected.to have_many(:line_referential_syncs) }
it { is_expected.to have_many(:workbenches) }
it { should validate_presence_of(:sync_interval) }
+
+ describe "#transport_modes" do
+ it 'returns a list of all transport modes' do
+ expect(FactoryGirl.create(:line_referential).transport_modes).to eq( Chouette::TransportMode.all.select { |tm| tm.positive? } )
+ end
+ end
end
diff --git a/spec/views/vehicle_journeys/_form.html.erb_spec.rb b/spec/views/vehicle_journeys/_form.html.erb_spec.rb
index 05fa068d9..af32406b8 100644
--- a/spec/views/vehicle_journeys/_form.html.erb_spec.rb
+++ b/spec/views/vehicle_journeys/_form.html.erb_spec.rb
@@ -1,7 +1,7 @@
require 'spec_helper'
describe "/vehicle_journeys/_form", :type => :view do
-
+
assign_referential
let!(:line) { assign :line, create(:line) }
let!(:route) { assign :route, create(:route, :line => line) }
@@ -14,7 +14,7 @@ describe "/vehicle_journeys/_form", :type => :view do
route,
vehicle_journey) }
expect(rendered).to have_selector( "select#vehicle_journey_transport_mode_name") do |node|
- Chouette::Line.transport_modes.each do |mode|
+ line.transport_modes.each do |mode|
expect(node).to have_selector("option", :text => mode.text_code)
end
end
@@ -26,7 +26,7 @@ describe "/vehicle_journeys/_form", :type => :view do
line,
route,
vehicle_journey) }
- expect(rendered).to have_selector("form") do
+ expect(rendered).to have_selector("form") do
with_selector "input[type=text][comment=]", vehicle_journey.comment
end
end
@@ -37,7 +37,7 @@ describe "/vehicle_journeys/_form", :type => :view do
line,
route,
vehicle_journey) }
- expect(rendered).to have_selector("form") do |form_node|
+ expect(rendered).to have_selector("form") do |form_node|
vehicle_journey.stop_points.each do |sp|
form_node.with_selector "label", :text => sp.stop_area.name
end
@@ -51,14 +51,14 @@ describe "/vehicle_journeys/_form", :type => :view do
vehicle_journey) }
expect(view).to render_template(:partial => "_vehicle_journey_at_stop_fields", :count => vehicle_journey.vehicle_journey_at_stops.count)
end
-
+
it "should render vehicle_journey_at_stop's departure time" do
render partial: 'vehicle_journeys/form',
locals: { vehicle_journey: vehicle_journey, form_url: referential_line_route_vehicle_journeys_path(referential,
line,
route,
vehicle_journey) }
- expect(rendered).to have_selector("form") do |form_node|
+ expect(rendered).to have_selector("form") do |form_node|
vehicle_journey.stop_points.each_with_index do |sp, index|
form_node.with_selector "select", :name => "vehicle_journey[vehicle_journey_at_stops_attributes][#{index}][departure_time(4i)]"
form_node.with_selector "select", :name => "vehicle_journey[vehicle_journey_at_stops_attributes][#{index}][departure_time(5i)]"
@@ -73,7 +73,7 @@ describe "/vehicle_journeys/_form", :type => :view do
line,
route,
vehicle_journey) }
- expect(rendered).to have_selector("form") do
+ expect(rendered).to have_selector("form") do
with_selector "input[type=text][objectid=][disabled=true]", vehicle_journey.objectid
end
end
@@ -86,7 +86,7 @@ describe "/vehicle_journeys/_form", :type => :view do
line,
route,
vehicle_journey) }
- expect(rendered).to have_selector("form") do
+ expect(rendered).to have_selector("form") do
with_selector "input[type=text][objectid=][disabled=false]", vehicle_journey.objectid
end
end