diff options
| author | Bruno Perles | 2016-01-08 14:37:35 +0100 |
|---|---|---|
| committer | Bruno Perles | 2016-01-08 14:37:35 +0100 |
| commit | 9411dfea9d983b1f16c57c15be114d4a7c3a611c (patch) | |
| tree | f806b22f44f28a295f311c065274b16ca26b651d | |
| parent | 48b7e696ee4c273335889be3f68ad8f0a61ba8e9 (diff) | |
| download | chouette-core-9411dfea9d983b1f16c57c15be114d4a7c3a611c.tar.bz2 | |
Always show one form line for journey_frequency, Rescue on IO OSRM
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 |
