aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Perles2016-01-08 14:37:35 +0100
committerBruno Perles2016-01-08 14:37:35 +0100
commit9411dfea9d983b1f16c57c15be114d4a7c3a611c (patch)
treef806b22f44f28a295f311c065274b16ca26b651d
parent48b7e696ee4c273335889be3f68ad8f0a61ba8e9 (diff)
downloadchouette-core-9411dfea9d983b1f16c57c15be114d4a7c3a611c.tar.bz2
Always show one form line for journey_frequency, Rescue on IO OSRM
-rw-r--r--app/assets/stylesheets/main/vehicle_journey_frequencies.scss2
-rw-r--r--app/controllers/route_sections_controller.rb7
-rw-r--r--app/controllers/vehicle_journey_frequencies_controller.rb8
-rw-r--r--app/views/vehicle_journey_frequencies/_form_vehicle_journey_at_stops.html.erb3
-rw-r--r--app/views/vehicle_journey_frequencies/_journey_frequency_fields.html.erb7
-rw-r--r--config/locales/route_sections.en.yml1
-rw-r--r--config/locales/route_sections.fr.yml1
-rw-r--r--lib/osrm_route_section_processor.rb3
8 files changed, 26 insertions, 6 deletions
diff --git a/app/assets/stylesheets/main/vehicle_journey_frequencies.scss b/app/assets/stylesheets/main/vehicle_journey_frequencies.scss
index e50755194..d2052f790 100644
--- a/app/assets/stylesheets/main/vehicle_journey_frequencies.scss
+++ b/app/assets/stylesheets/main/vehicle_journey_frequencies.scss
@@ -62,7 +62,7 @@
> li {
display: table-cell;
width: 21%;
- vertical-align: middle;
+ vertical-align: top;
padding:0 ;
margin: 0;
&:first-child select {
diff --git a/app/controllers/route_sections_controller.rb b/app/controllers/route_sections_controller.rb
index 64cb8c65c..c1aaf732e 100644
--- a/app/controllers/route_sections_controller.rb
+++ b/app/controllers/route_sections_controller.rb
@@ -41,7 +41,12 @@ class RouteSectionsController < ChouetteController
def create_to_edit
route_section = Chouette::RouteSection.create(route_section_params)
- redirect_to edit_referential_route_section_path(referential, route_section)
+ if route_section.id
+ redirect_to edit_referential_route_section_path(referential, route_section)
+ else
+ flash[:alert] = I18n.t('route_sections.unable_to_contact_server')
+ redirect_to :back
+ end
end
protected
diff --git a/app/controllers/vehicle_journey_frequencies_controller.rb b/app/controllers/vehicle_journey_frequencies_controller.rb
index c12400775..683bd6d5a 100644
--- a/app/controllers/vehicle_journey_frequencies_controller.rb
+++ b/app/controllers/vehicle_journey_frequencies_controller.rb
@@ -2,6 +2,12 @@ class VehicleJourneyFrequenciesController < VehicleJourneysController
defaults resource_class: Chouette::VehicleJourneyFrequency
+ def new
+ new! do
+ vehicle_journey.journey_frequencies.build
+ end
+ end
+
private
def vehicle_journey_frequency_params
@@ -16,5 +22,5 @@ class VehicleJourneyFrequenciesController < VehicleJourneysController
:departure_time] },
{ journey_frequencies_attributes: [ :id, :_destroy, :scheduled_headway_interval, :first_departure_time,
:last_departure_time, :exact_time, :timeband_id ] } )
- end
+ end
end
diff --git a/app/views/vehicle_journey_frequencies/_form_vehicle_journey_at_stops.html.erb b/app/views/vehicle_journey_frequencies/_form_vehicle_journey_at_stops.html.erb
index 7f503e547..e002f746e 100644
--- a/app/views/vehicle_journey_frequencies/_form_vehicle_journey_at_stops.html.erb
+++ b/app/views/vehicle_journey_frequencies/_form_vehicle_journey_at_stops.html.erb
@@ -50,8 +50,9 @@
<li></li>
<li></li>
</ul>
+ <% i = 0 %>
<%= form.semantic_fields_for :journey_frequencies do |journey_frequency| %>
- <%= render 'journey_frequency_fields', f: journey_frequency %>
+ <%= render 'journey_frequency_fields', f: journey_frequency, no_destroy: ((i += 1) == 1 ? true : false) %>
<% end %>
<div class="actions-add-fields">
<%= link_to_add_association t('journey_frequencies.form.add_line'), form, :journey_frequencies, class: 'btn btn-primary' %>
diff --git a/app/views/vehicle_journey_frequencies/_journey_frequency_fields.html.erb b/app/views/vehicle_journey_frequencies/_journey_frequency_fields.html.erb
index 9fe360666..221bf2f67 100644
--- a/app/views/vehicle_journey_frequencies/_journey_frequency_fields.html.erb
+++ b/app/views/vehicle_journey_frequencies/_journey_frequency_fields.html.erb
@@ -1,3 +1,4 @@
+<% no_destroy = false unless local_assigns[:no_destroy] %>
<div class="nested-fields">
<ul class="ce-FrequencyFormFields">
<%= f.input :timeband_id, as: :search_timeband, json: referential_autocomplete_timebands_path(@referential, format: :json),
@@ -11,8 +12,10 @@
<%= f.input :exact_time, label: t('activerecord.attributes.journey_frequency.exact_time') %>
<li>
<label class="label"></label>
- <%= link_to_remove_association f do %>
- <i class="fa fa-trash"></i>
+ <% unless no_destroy %>
+ <%= link_to_remove_association f do %>
+ <i class="fa fa-trash"></i>
+ <% end %>
<% end %>
</li>
</ul>
diff --git a/config/locales/route_sections.en.yml b/config/locales/route_sections.en.yml
index f799432f0..76fbb790d 100644
--- a/config/locales/route_sections.en.yml
+++ b/config/locales/route_sections.en.yml
@@ -23,6 +23,7 @@ en:
edit: "Edit this section"
destroy: "Delete this section"
destroy_confirm: "Are you sure you want to delete this route section?"
+ unable_to_contact_server: 'Unable to contact OSRM server, please try again later.'
route_sections_selectors:
edit:
title: "Changing the course of the mission %{journey_pattern}"
diff --git a/config/locales/route_sections.fr.yml b/config/locales/route_sections.fr.yml
index 65bead733..9d4d3865b 100644
--- a/config/locales/route_sections.fr.yml
+++ b/config/locales/route_sections.fr.yml
@@ -23,6 +23,7 @@ fr:
edit: "Modifier cette section"
destroy: "Supprimer cette section"
destroy_confirm: "Etes vous sûr de vouloir supprimer cette section de parcours ?"
+ unable_to_contact_server: "Le serveur OSRM n'est pas disponible pour le moment, merci de réessayer dans quelques instants."
route_sections_selectors:
edit:
title: "Modification du parcours de la mission %{journey_pattern}"
diff --git a/lib/osrm_route_section_processor.rb b/lib/osrm_route_section_processor.rb
index 102c53966..972f070d0 100644
--- a/lib/osrm_route_section_processor.rb
+++ b/lib/osrm_route_section_processor.rb
@@ -22,6 +22,9 @@ class OsrmRouteSectionProcessor
rescue OpenURI::HTTPError => e
Rails.logger.error "router.project-osrm.org failed: #{e}"
nil
+ rescue IOError => e
+ Rails.logger.error "router.project-osrm.org failed: #{e}"
+ nil
end
def self.create_all