diff options
| author | Bruno Perles | 2015-10-28 10:11:50 +0100 |
|---|---|---|
| committer | Bruno Perles | 2015-10-28 10:11:50 +0100 |
| commit | 843bec92850de6f4b46498611842f894a78e7d3d (patch) | |
| tree | 61930b753c7d91e9c9cfa383e40c251b3e0d3347 | |
| parent | daae87f5051b1ba267d3b750c3e7f77f5b90b6c3 (diff) | |
| download | chouette-core-843bec92850de6f4b46498611842f894a78e7d3d.tar.bz2 | |
Add journey_frequencies fields, locales and some other little update
60 files changed, 391 insertions, 283 deletions
@@ -115,9 +115,9 @@ gem 'squeel' gem 'enumerize', '~> 0.10.0' -gem 'ninoxe', :git => 'https://github.com/afimb/ninoxe.git' +# gem 'ninoxe', :git => 'https://github.com/afimb/ninoxe.git' #gem 'ninoxe', '1.2.2' -#gem 'ninoxe',:path => '~/workspace/chouette/ninoxe' +gem 'ninoxe', path: '../ninoxe' gem 'acts_as_list', '~> 0.6.0' gem "acts_as_tree", '~> 2.1.0', :require => "acts_as_tree" @@ -128,8 +128,6 @@ gem 'delayed_job_active_record' gem 'devise-async' gem 'apartment', "~> 1.0.0" -gem 'newrelic_rpm' - group :development do gem 'capistrano', '2.13.5' gem 'capistrano-ext' @@ -163,6 +161,7 @@ group :test, :development do end group :production do + gem 'newrelic_rpm' gem "SyslogLogger", :require => "syslog/logger" gem "daemons" end diff --git a/Gemfile.lock b/Gemfile.lock index 319c0ce14..d676c0724 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,5 @@ -GIT - remote: https://github.com/afimb/ninoxe.git - revision: 766d2293bde741d34a5b9f23da21e5dc8d66bb2f +PATH + remote: ../ninoxe specs: ninoxe (1.2.1) activerecord (~> 4.1.1) @@ -106,8 +105,7 @@ GEM coffee-script-source (1.9.1) daemons (1.1.9) database_cleaner (1.4.1) - dbf (2.0.10) - fastercsv (~> 1.5) + dbf (3.0.0) debug_inspector (0.0.2) deep_cloneable (2.0.2) activerecord (>= 3.1.0, < 5.0.0) @@ -149,7 +147,6 @@ GEM multipart-post (>= 1.2, < 3) faraday_middleware (0.9.1) faraday (>= 0.7.4, < 0.10) - fastercsv (1.5.5) ffi (1.9.10) ffi (1.9.10-java) ffi-geos (1.1.0) @@ -247,7 +244,7 @@ GEM mime-types (2.4.3) mimemagic (0.3.0) mini_portile (0.6.2) - minitest (5.8.1) + minitest (5.8.2) modernizr-rails (2.0.6) multi_json (1.11.2) multipart-post (2.0.0) diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 212ccdff8..0862295a4 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -22,6 +22,7 @@ //= require footable/footable.filter //= require footable/footable.paginate //= require footable/footable.sort +//= require tools //= require_directory ./plugins //= require_directory . //= require_directory ./stop_areas diff --git a/app/assets/javascripts/tools.js.coffee b/app/assets/javascripts/tools.js.coffee new file mode 100644 index 000000000..b30eb6f15 --- /dev/null +++ b/app/assets/javascripts/tools.js.coffee @@ -0,0 +1,6 @@ +(($) -> + $ -> + $('.ce-hide').removeClass 'ce-hide' + return + return +) jQuery diff --git a/app/assets/javascripts/vehicle_journey.js.coffee b/app/assets/javascripts/vehicle_journey.js.coffee index 54b359b7a..caf505960 100644 --- a/app/assets/javascripts/vehicle_journey.js.coffee +++ b/app/assets/javascripts/vehicle_journey.js.coffee @@ -1,6 +1,6 @@ jQuery -> swap_hour_minute = ( from, to) -> - rows = $('.vehicle_journeys tbody.journey_pattern_dependent_list tr.time') + rows = $('tbody.journey_pattern_dependent_list tr.time') for row in rows do (row) -> $(row).find( to).find('.hour')[0].value = $(row).find( from).find('.hour')[0].value @@ -8,15 +8,15 @@ jQuery -> copy_departures_to_arrivals = (event) -> event.preventDefault() - swap_hour_minute( '.departure_time', '.arrival_time') + swap_hour_minute('.departure_time', '.arrival_time') - $(document).on("click", '.vehicle_journeys a.to_arrivals', copy_departures_to_arrivals) + $(document).on('click', '[data-ce-action="to_arrivals"]', copy_departures_to_arrivals) copy_arrivals_to_departures = (event) -> event.preventDefault() - swap_hour_minute( '.arrival_time', '.departure_time') + swap_hour_minute('.arrival_time', '.departure_time') - $(document).on("click", '.vehicle_journeys a.to_departures', copy_arrivals_to_departures) + $(document).on('click', '[data-ce-action="to_departures"]', copy_arrivals_to_departures) switch_vehicle_journey_at_stops = (event) -> event.preventDefault() @@ -72,4 +72,4 @@ jQuery -> slide_to( '.departure_time', duration) slide_to( '.arrival_time', duration) - $(document).on("click", '.vehicle_journeys a.slide', slide)
\ No newline at end of file + $(document).on("click", '.vehicle_journeys a.slide', slide) diff --git a/app/assets/javascripts/vehicle_journeys_frequencies.js.coffee b/app/assets/javascripts/vehicle_journey_frequencies.js.coffee index 24f83d18b..24f83d18b 100644 --- a/app/assets/javascripts/vehicle_journeys_frequencies.js.coffee +++ b/app/assets/javascripts/vehicle_journey_frequencies.js.coffee diff --git a/app/assets/stylesheets/main/layout.css.scss b/app/assets/stylesheets/main/layout.css.scss index 0a9ade3a8..556ed5116 100644 --- a/app/assets/stylesheets/main/layout.css.scss +++ b/app/assets/stylesheets/main/layout.css.scss @@ -17,6 +17,10 @@ ol.breadcrumb{ margin-top: 10px; } +.ce-hide { + visibility: hidden; +} + #middle{ min-height: 500px; -webkit-box-shadow: 0 0 5px 2px rgba(0, 0, 0, .2); diff --git a/app/assets/stylesheets/main/vehicle_journeys_frequencies.scss b/app/assets/stylesheets/main/vehicle_journey_frequencies.scss index 682f02e12..5ca5f64e7 100644 --- a/app/assets/stylesheets/main/vehicle_journeys_frequencies.scss +++ b/app/assets/stylesheets/main/vehicle_journey_frequencies.scss @@ -1,10 +1,22 @@ #workspace { .ce-TimeBandFormTable { - border-left: 1px solid #616161; + display: none; + } + .ce-TimeBandFormTable { + .btn { + white-space: normal; + width: 130px; + } + } + .ce-TimeBandFormTable th { + text-align: center; + padding-bottom: 10px; + } + .ce-TimeBandFormTable td { + padding: 6px 20px 6px 20px; } .ce-TimeBandFormTable td { - padding: 0 20px 4px 20px; - vertical-align: top; + vertical-align: middle; } .ce-TimeBandFormTable td:last-child { text-align: right; @@ -22,9 +34,12 @@ width: 2px; margin-left: -1px; background-color: #61970b; - } - .ce-TimeBandFormTable tr:last-child td .ce-TimeBandFormTable-line { - display: none; + } + .ce-TimeBandFormTable tr:first-child td .ce-TimeBandFormTable-line:after { + top: 50%; + } + .ce-TimeBandFormTable tr:last-child td .ce-TimeBandFormTable-line:after { + bottom: 50%; } .ce-TimeBandFormTable-circle { position: relative; @@ -39,18 +54,28 @@ background-color: #fff; border: 2px solid #61970b; } - .ce-TimeBandFormTable-subList { - - } .ce-FrequencyFormFields { + display: table; + width: 100%; padding-left: 25%; > li { - display: inline-block; + display: table-cell; + width: 21%; vertical-align: top; + padding:0 ; + margin: 0; + &:nth-last-child(2), &:last-child { + width: 8%; + } + label { + font-size: 13px; + padding-left: 0; + } legend { position: relative; width: auto; float: none; + border: 0; label { position: relative; } @@ -66,4 +91,11 @@ } } } + form.vehicle_journey_frequency { + .actions-add-fields { + clear: both; + padding-left: 25%; + margin-top: 10px; + } + } } diff --git a/app/assets/stylesheets/main/vehicle_journeys.css.scss b/app/assets/stylesheets/main/vehicle_journeys.css.scss index 119883fb4..6f67bc4b4 100644 --- a/app/assets/stylesheets/main/vehicle_journeys.css.scss +++ b/app/assets/stylesheets/main/vehicle_journeys.css.scss @@ -1,21 +1,30 @@ -// Place all the styles related to the routes controller here. -// They will automatically be included in application.css. -// You can use Sass (SCSS) here: http://sass-lang.com/ - -#workspace.vehicle_journeys.edit, #workspace.vehicle_journeys.update, #workspace.vehicle_journeys.create, #workspace.vehicle_journeys.new { +#workspace.vehicle_journeys.edit, +#workspace.vehicle_journeys.update, +#workspace.vehicle_journeys.create, +#workspace.vehicle_journeys.new, +#workspace.vehicle_journey_frequencies.edit, +#workspace.vehicle_journey_frequencies.update, +#workspace.vehicle_journey_frequencies.create, +#workspace.vehicle_journey_frequencies.new { #route_color{ width: 100px; color: white; font-weight: bold; } + .btn { + padding: 6px 12px; + } + .time_table_list { padding-left: 25%; } - #vehicle_journey_footnote_ids_input { + #vehicle_journey_footnote_ids_input, + #vehicle_journey_frequency_footnote_ids_input { min-height: 3em; } - .vehicle_journey_at_stops { + .vehicle_journey_at_stops, + .vehicle_journey_frequency_at_stops { margin-left: 25%; thead, tbody, tfoot{ @@ -56,7 +65,8 @@ } } -#workspace.vehicle_journeys.index +#workspace.vehicle_journeys.index, +#workspace.vehicle_journey_frequencies.index { #search{ @@ -95,39 +105,44 @@ } -#workspace.vehicle_journeys.show, #workspace.vehicle_journeys.edit, #workspace.vehicle_journeys.update, #workspace.vehicle_journeys.create, #workspace.vehicle_journeys.new { - - .to_departures { - cursor: pointer; - } - - .to_arrivals { - cursor: pointer; - } +#workspace.vehicle_journeys.show, +#workspace.vehicle_journeys.edit, +#workspace.vehicle_journeys.update, +#workspace.vehicle_journeys.create, +#workspace.vehicle_journeys.new, +#workspace.vehicle_journey_journey.show, +#workspace.vehicle_journey_journey.edit, +#workspace.vehicle_journey_journey.update, +#workspace.vehicle_journey_journey.create, +#workspace.vehicle_journey_journey.new { .slide { cursor: pointer; } } -#workspace.vehicle_journeys.show +#workspace.vehicle_journeys.show, +#workspace.vehicle_journey_frequencies.show { .summary p label { font-weight: bold; } } -#workspace.vehicle_journeys.timeless +#workspace.vehicle_journeys.timeless, +#workspace.vehicle_journey_frequencies.timeless { .summary p label { font-weight: bold; } - .vehicle_journeys { + .vehicle_journeys, + .vehicle_journey_frequencies { margin-top: 20px; } - .vehicle_journey { + .vehicle_journey, + .vehicle_journey_frequency { span.included_day_type { font-weight: bolder; diff --git a/app/controllers/breadcrumb_controller.rb b/app/controllers/breadcrumb_controller.rb index c1bb4289c..29ecd262c 100644 --- a/app/controllers/breadcrumb_controller.rb +++ b/app/controllers/breadcrumb_controller.rb @@ -1,26 +1,26 @@ class BreadcrumbController < InheritedResources::Base include BreadcrumbHelper - + def show - show! do + show! do build_breadcrumb :show end end - + def index - index! do + index! do build_breadcrumb :index end end - + def edit edit! do build_breadcrumb :edit end end - def update + def update update! do |success, failure| build_breadcrumb :edit end @@ -31,7 +31,7 @@ class BreadcrumbController < InheritedResources::Base build_breadcrumb :new end end - + def create create! do |success, failure| build_breadcrumb :new diff --git a/app/controllers/journey_patterns_controller.rb b/app/controllers/journey_patterns_controller.rb index 13018771d..b7cdccc72 100644 --- a/app/controllers/journey_patterns_controller.rb +++ b/app/controllers/journey_patterns_controller.rb @@ -36,7 +36,8 @@ class JourneyPatternsController < ChouetteController def new_vehicle_journey @vehicle_journey = Chouette::VehicleJourney.new(:route_id => route.id) @vehicle_journey.update_journey_pattern(resource) - render "vehicle_journeys#{"_#{params[:suffix]}" if params[:suffix]}/select_journey_pattern" + vehicle_journey_category = params[:journey_category] ? "vehicle_journey_#{params[:journey_category]}" : 'vehicle_journey' + render "#{vehicle_journey_category.pluralize}/select_journey_pattern" end # overwrite inherited resources to use delete instead of destroy diff --git a/app/controllers/vehicle_journey_frequencies_controller.rb b/app/controllers/vehicle_journey_frequencies_controller.rb new file mode 100644 index 000000000..72f1fc7f5 --- /dev/null +++ b/app/controllers/vehicle_journey_frequencies_controller.rb @@ -0,0 +1,6 @@ +class VehicleJourneyFrequenciesController < VehicleJourneysController + + defaults resource_class: Chouette::VehicleJourneyFrequency + +end + diff --git a/app/controllers/vehicle_journeys_controller.rb b/app/controllers/vehicle_journeys_controller.rb index a94fe8ed6..bac4166a5 100644 --- a/app/controllers/vehicle_journeys_controller.rb +++ b/app/controllers/vehicle_journeys_controller.rb @@ -1,5 +1,5 @@ class VehicleJourneysController < ChouetteController - defaults :resource_class => Chouette::VehicleJourneyTimed + defaults :resource_class => Chouette::VehicleJourney respond_to :js, :only => [:select_journey_pattern, :edit, :new, :index] diff --git a/app/controllers/vehicle_journeys_frequencies_controller.rb b/app/controllers/vehicle_journeys_frequencies_controller.rb deleted file mode 100644 index 6cd1ca0da..000000000 --- a/app/controllers/vehicle_journeys_frequencies_controller.rb +++ /dev/null @@ -1,6 +0,0 @@ -class VehicleJourneysFrequenciesController < VehicleJourneysController - - defaults :resource_class => Chouette::VehicleJourneyFrequency - -end - diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 28e652f2f..058e30732 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -51,7 +51,7 @@ module ApplicationHelper "group_of_lines" when path.include?("/vehicle_journeys") "vehicle_journeys" - when path.include?("/vehicle_journeys_frequencies") + when path.include?("/vehicle_journey_frequencies") "vehicle_journeys" when path.include?("/journey_patterns") "journey_patterns" diff --git a/app/helpers/breadcrumb_helper.rb b/app/helpers/breadcrumb_helper.rb index 1f3c9a2ce..fc5721452 100644 --- a/app/helpers/breadcrumb_helper.rb +++ b/app/helpers/breadcrumb_helper.rb @@ -16,8 +16,8 @@ module BreadcrumbHelper journey_pattern_breadcrumb action when "Chouette::VehicleJourney" vehicle_journey_breadcrumb action - when "Chouette::VehicleJourneysFrequency" - vehicle_journeys_frequency_breadcrumb action + when "Chouette::VehicleJourneyFrequency" + vehicle_journey_frequency_breadcrumb action when "VehicleJourneyImport" vehicle_journey_import_breadcrumb action when "Chouette::StopArea" @@ -126,10 +126,10 @@ module BreadcrumbHelper add_breadcrumb breadcrumb_label(@vehicle_journey), referential_line_route_vehicle_journey_path(@referential, @line,@route,@vehicle_journey),:title => breadcrumb_tooltip(@vehicle_journey) if action == :edit end - def vehicle_journeys_frequency_breadcrumb(action) + def vehicle_journey_frequency_breadcrumb(action) route_breadcrumb :edit - add_breadcrumb I18n.t("breadcrumbs.vehicle_journeys_frequencies"), referential_line_route_vehicle_journeys_frequencies_path(@referential, @line, @route) unless action == :index - add_breadcrumb breadcrumb_label(@vehicle_journey), referential_line_route_vehicle_journeys_frequency_path(@referential, @line,@route, @vehicle_journey),:title => breadcrumb_tooltip(@vehicle_journey) if action == :edit + add_breadcrumb I18n.t("breadcrumbs.vehicle_journey_frequencies"), referential_line_route_vehicle_journey_frequencies_path(@referential, @line, @route) unless action == :index + add_breadcrumb breadcrumb_label(@vehicle_journey), referential_line_route_vehicle_journey_frequency_path(@referential, @line,@route, @vehicle_journey),:title => breadcrumb_tooltip(@vehicle_journey) if action == :edit end def vehicle_journey_import_breadcrumb (action) diff --git a/app/helpers/vehicle_journey_frequencies_helper.rb b/app/helpers/vehicle_journey_frequencies_helper.rb new file mode 100644 index 000000000..5d62aaf7f --- /dev/null +++ b/app/helpers/vehicle_journey_frequencies_helper.rb @@ -0,0 +1,2 @@ +module VehicleJourneyFrequenciesHelper +end diff --git a/app/helpers/vehicle_journeys_frequencies_helper.rb b/app/helpers/vehicle_journeys_frequencies_helper.rb deleted file mode 100644 index b5a7926ea..000000000 --- a/app/helpers/vehicle_journeys_frequencies_helper.rb +++ /dev/null @@ -1,2 +0,0 @@ -module VehicleJourneysFrequenciesHelper -end diff --git a/app/views/vehicle_journey_frequencies/_form_footer.html.erb b/app/views/vehicle_journey_frequencies/_form_footer.html.erb new file mode 100644 index 000000000..35c797a46 --- /dev/null +++ b/app/views/vehicle_journey_frequencies/_form_footer.html.erb @@ -0,0 +1,5 @@ +<% if vehicle_journey.new_record? %> + <%= javascript_include_tag new_referential_line_route_vehicle_journey_frequency_path(@referential, @line, @route, :format => :js) %> +<% else %> + <%= javascript_include_tag edit_referential_line_route_vehicle_journey_frequency_path(@referential, @line, @route, vehicle_journey, :format => :js) %> +<% 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 new file mode 100644 index 000000000..558abf0cf --- /dev/null +++ b/app/views/vehicle_journey_frequencies/_form_vehicle_journey_at_stops.html.erb @@ -0,0 +1,59 @@ +<li class="input"> + <%= form.label vehicle_journey.human_attribute_name(:vehicle_journey_at_stop_ids), :class => "label" %> + <table class="table-striped ce-TimeBandFormTable"> + <thead> + <tr> + <th> + <%= t('vehicle_journeys.form.stop_title') %> + </th> + <th></th> + <th> + <%= t('vehicle_journeys.form.arrival') %> + </th> + <th> + <%= t('vehicle_journeys.form.departure') %> + </th> + </tr> + </thead> + <tbody class="journey_pattern_dependent_list"> + <%= render :partial => 'vehicle_journey_at_stop_fields', + :collection => vehicle_journey.vehicle_journey_at_stops, :as => :vehicle_journey_at_stop, + :locals => { :vehicle_journey_at_stops_size => vehicle_journey.vehicle_journey_at_stops.size } %> + </tbody> + <tfoot> + <tr> + <td></td> + <td></td> + <td> + <%= button_tag 'data-ce-action' => 'to_departures', class: 'ce-hide btn btn-primary' do %> + <%= t('vehicle_journeys.form.to_departures').html_safe %> + <i class="fa fa-angle-double-right"></i> + <% end %> + <td> + <%= button_tag 'data-ce-action' => 'to_arrivals', class: 'ce-hide btn btn-primary' do %> + <i class="fa fa-angle-double-left"></i> + <%= t('vehicle_journeys.form.to_arrivals').html_safe %> + <% end %> + </td> + </tr> + </tfoot> + </table> +</li> + +<li class="input"> + <%= form.label vehicle_journey.human_attribute_name(:journey_frequency_ids), :class => "label" %> + <ul class="ce-FrequencyFormFields"> + <li>Plages horaires</li> + <li><%= t('activerecord.attributes.journey_frequency.first_departure_time') %></li> + <li><%= t('activerecord.attributes.journey_frequency.last_departure_time') %></li> + <li><%= t('activerecord.attributes.journey_frequency.scheduled_headway_interval') %></li> + <li></li> + <li></li> + </ul> + <% form.semantic_fields_for :journey_frequencies do |journey_frequency| %> + <%= render 'journey_frequency_fields', f: journey_frequency %> + <% end %> + <div class="actions-add-fields"> + <%= link_to_add_association t('journey_frequencies.form.add_line'), form, :journey_frequencies, class: 'btn btn-primary' %> + </div> +</li> diff --git a/app/views/vehicle_journey_frequencies/_journey_frequency_fields.html.erb b/app/views/vehicle_journey_frequencies/_journey_frequency_fields.html.erb new file mode 100644 index 000000000..5d1f923c9 --- /dev/null +++ b/app/views/vehicle_journey_frequencies/_journey_frequency_fields.html.erb @@ -0,0 +1,15 @@ +<div class="nested-fields"> + <ul class="ce-FrequencyFormFields"> + <li>...</li> + <%= f.input :first_departure_time, label: false %> + <%= f.input :last_departure_time, label: false %> + <%= f.input :scheduled_headway_interval, label: false %> + <%= 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> + <% end %> + </li> + </ul> +</div> diff --git a/app/views/vehicle_journeys_frequencies/_show_sidebar.html.erb b/app/views/vehicle_journey_frequencies/_show_sidebar.html.erb index 7be0e4d63..4d89785e0 100644 --- a/app/views/vehicle_journeys_frequencies/_show_sidebar.html.erb +++ b/app/views/vehicle_journey_frequencies/_show_sidebar.html.erb @@ -1,8 +1,8 @@ <% content_for :sidebar do %> <ul class="actions"> <li><%= link_to t('vehicle_journeys.actions.new'), new_referential_line_route_vehicle_journey_path(@referential, @line, @route), :class => "add" %></li> - <li><%= link_to t('vehicle_journeys.actions.new_frequency'), new_referential_line_route_vehicle_journeys_frequency_path(@referential, @line, @route), :class => "add" %></li> - <li><%= link_to t('vehicle_journeys.actions.edit_frequency'), edit_referential_line_route_vehicle_journeys_frequency_path(@referential, @line, @route, @vehicle_journey), :class => "edit" %></li> + <li><%= link_to t('vehicle_journeys.actions.new_frequency'), new_referential_line_route_vehicle_journey_frequency_path(@referential, @line, @route), :class => "add" %></li> + <li><%= link_to t('vehicle_journeys.actions.edit_frequency'), edit_referential_line_route_vehicle_journey_frequency_path(@referential, @line, @route, @vehicle_journey), :class => "edit" %></li> <li><%= link_to t('vehicle_journeys.actions.destroy'), referential_line_route_vehicle_journey_path(@referential, @line, @route, @vehicle_journey), :method => :delete, :data => {:confirm => t('vehicle_journeys.actions.destroy_confirm')}, :class => "remove" %></li> <% unless @vehicle_journey.vehicle_journey_at_stops.empty? %> <li> diff --git a/app/views/vehicle_journeys_frequencies/_show_vehicle_journey_at_stops.html.erb b/app/views/vehicle_journey_frequencies/_show_vehicle_journey_at_stops.html.erb index e69de29bb..e69de29bb 100644 --- a/app/views/vehicle_journeys_frequencies/_show_vehicle_journey_at_stops.html.erb +++ b/app/views/vehicle_journey_frequencies/_show_vehicle_journey_at_stops.html.erb diff --git a/app/views/vehicle_journey_frequencies/_vehicle_journey_at_stop_fields.html.erb b/app/views/vehicle_journey_frequencies/_vehicle_journey_at_stop_fields.html.erb new file mode 100644 index 000000000..e99392a38 --- /dev/null +++ b/app/views/vehicle_journey_frequencies/_vehicle_journey_at_stop_fields.html.erb @@ -0,0 +1,48 @@ +<% vjas = vehicle_journey_at_stop + tab_counter_arrival = 2 * vehicle_journey_at_stop_counter + 100 + tab_counter_departure = (vehicle_journey_at_stops_size * 2) + 2 * vehicle_journey_at_stop_counter + 100 +%> +<tr class="time input optional <%= vjas._destroy ? "no_stop" : "" %> <%= (vehicle_journey_at_stop_counter%2==0) ? "odd" : "even" %>" > + <td> + <%= { + id: vjas.id, + _destroy: (vjas._destroy ? 1 : 0), + stop_point_id: vjas.stop_point_id, + is_frequency: true, + :'departure_time(3i)' => 1, + :'departure_time(2i)' => 1, + :'departure_time(1i)' => 1, + :'arrival_time(3i)' => 1, + :'arrival_time(2i)' => 1, + :'arrival_time(1i)' => 2000 + }.map{ |k, v| + "<input name=\"vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][#{k}]\" + type=\"hidden\" value=\"#{v}\">" }.join("\n").html_safe %> + + <%= vjas.stop_point.stop_area.name %> + </td> + <td class="ce-TimeBandFormTable-circleLine"> + <span class="ce-TimeBandFormTable-circle"></span> + <span class="ce-TimeBandFormTable-line"></span> + </td> + <td class="arrival_time <%= vjas.arrival_time.nil? ? "missing" : "" %> <%= vjas.errors[:arrival_time].blank? ? "" : "invalid_position" %>"> + <%= select_hour(vjas.arrival_time ? vjas.arrival_time.hour : 0, + { :prefix => "vehicle_journey", + :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][arrival_time(4i)]" }, + :class => "hour", tabindex: tab_counter_arrival + 1) %> + <%= select_minute(vjas.arrival_time ? vjas.arrival_time.min : 0, + { :prefix => "vehicle_journey", + :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][arrival_time(5i)]" }, + :class => "minute", tabindex: tab_counter_arrival + 2) %> + </td> + <td class="departure_time <%= vjas.departure_time.nil? ? "missing" : "" %> <%= vjas.errors[:departure_time].blank? ? "" : "invalid_position" %>"> + <%= select_hour(vjas.departure_time ? vjas.departure_time.hour : 0, + { :prefix => 'vehicle_journey', + :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][departure_time(4i)]" }, + :class => 'hour', tabindex: tab_counter_departure + 1) %> + <%= select_minute(vjas.departure_time ? vjas.departure_time.min : 0, + { :prefix => 'vehicle_journey', + :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][departure_time(5i)]" }, + :class => 'minute', tabindex: tab_counter_departure + 2) %> + </td> +</tr> diff --git a/app/views/vehicle_journey_frequencies/edit.html.erb b/app/views/vehicle_journey_frequencies/edit.html.erb new file mode 100644 index 000000000..233f2f18d --- /dev/null +++ b/app/views/vehicle_journey_frequencies/edit.html.erb @@ -0,0 +1,3 @@ +<%= title_tag edit_vehicle_title(@vehicle_journey_frequency) %> + +<%= render 'vehicle_journeys/form', vehicle_journey: @vehicle_journey_frequency form_url: referential_line_route_vehicle_journey_frequency_path(@referential, @line, @route, id: @vehicle_journey_frequency) %> diff --git a/app/views/vehicle_journey_frequencies/new.html.erb b/app/views/vehicle_journey_frequencies/new.html.erb new file mode 100644 index 000000000..354f49169 --- /dev/null +++ b/app/views/vehicle_journey_frequencies/new.html.erb @@ -0,0 +1,3 @@ +<%= title_tag t('vehicle_journeys.new.title_frequency') %> + +<%= render 'vehicle_journeys/form', vehicle_journey: @vehicle_journey_frequency, form_url: referential_line_route_vehicle_journey_frequencies_path(@referential, @line, @route) %> diff --git a/app/views/vehicle_journey_frequencies/new.js.erb b/app/views/vehicle_journey_frequencies/new.js.erb new file mode 100644 index 000000000..6310d14b3 --- /dev/null +++ b/app/views/vehicle_journey_frequencies/new.js.erb @@ -0,0 +1,13 @@ +$(document).ready(function() { + $("#vehicle_journey_frequency_journey_pattern_id").change( + function(){ + var vehicle_journey_journey_pattern_id = $("#vehicle_journey_frequency_journey_pattern_input select option:selected").attr("value"); + if (vehicle_journey_journey_pattern_id > 0) { + var url = "<%= referential_line_route_journey_patterns_path(@referential.id,@line.id,@route.id) %>"; + url = url + "/" + vehicle_journey_journey_pattern_id + + "/new_vehicle_journey?journey_category=frequency"; + $.get(url); + } + } + ) +}); diff --git a/app/views/vehicle_journeys_frequencies/select_journey_pattern.js.erb b/app/views/vehicle_journey_frequencies/select_journey_pattern.js.erb index 59e9e2f4a..0f287cc27 100644 --- a/app/views/vehicle_journeys_frequencies/select_journey_pattern.js.erb +++ b/app/views/vehicle_journey_frequencies/select_journey_pattern.js.erb @@ -1,5 +1,7 @@ -$('.journey_pattern_dependent_list').html('<%= escape_javascript( - render(:partial => "vehicle_journeys_frequencies/vehicle_journey_at_stop_fields", +var $selector = $('.journey_pattern_dependent_list'); +$selector.html('<%= escape_javascript( + render(:partial => "vehicle_journey_frequencies/vehicle_journey_at_stop_fields", :collection => @vehicle_journey.vehicle_journey_at_stops, :as => :vehicle_journey_at_stop, :locals => { :vehicle_journey_at_stops_size => @vehicle_journey.vehicle_journey_at_stops.size })).html_safe %>'); +$selector.closest('table').show(); diff --git a/app/views/vehicle_journeys/_form.html.erb b/app/views/vehicle_journeys/_form.html.erb index 627b2fa60..10d9bfeee 100644 --- a/app/views/vehicle_journeys/_form.html.erb +++ b/app/views/vehicle_journeys/_form.html.erb @@ -1,32 +1,28 @@ -<%= semantic_form_for @vehicle_journey, url: form_url do |form| %> +<%= semantic_form_for vehicle_journey, url: form_url do |form| %> <%= form.inputs do %> - <%= form.input :is_frequency, as: :hidden %> <%= form.input :journey_pattern, :as => :select, :collection => @route.journey_patterns, :member_label => Proc.new { |jp| journey_name(jp) } %> <%= form.input :number %> <%= 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 :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 :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 %> <%= form.input :facility %> <%= form.input :vehicle_type_identifier%> - <%= form.input :objectid, :required => !@vehicle_journey.new_record?, :input_html => { :title => t("formtastic.titles#{format_restriction_for_locales(@referential)}.vehicle_journey.objectid")} %> - <%= form.input :time_table_tokens, :label => t('.time_tables'), :as => :search_time_table, :json => referential_autocomplete_time_tables_path(@referential, :format => :json), :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new( 'autocomplete_time_tables/index', @vehicle_journey.time_tables, :view_path => 'app/views', :format => :json, :scope => :self ).render } %> + <%= form.input :objectid, :required => !vehicle_journey.new_record?, :input_html => { :title => t("formtastic.titles#{format_restriction_for_locales(@referential)}.vehicle_journey.objectid")} %> + <%= form.input :time_table_tokens, :label => t('.time_tables'), :as => :search_time_table, :json => referential_autocomplete_time_tables_path(@referential, :format => :json), :hint_text => t('search_hint'), :no_result_text => t('no_result_text'),:searching_text => t('searching_term'), :input_html => { :"data-pre" => Rabl::Renderer.new( 'autocomplete_time_tables/index', vehicle_journey.time_tables, :view_path => 'app/views', :format => :json, :scope => :self ).render } %> <%= form.input :footnote_ids, :as => :check_boxes, :collection => @line.footnotes.map { |f| [ "#{f.code}: #{f.label}", f.id.to_s]} %> - <li class="input"> - <%= form.label @vehicle_journey.human_attribute_name(:vehicle_journey_at_stop_ids), :class => "label" %> - </li> - <%= render 'form_vehicle_journey_at_stops', form: form %> + <%= render 'form_vehicle_journey_at_stops', vehicle_journey: vehicle_journey, form: form %> <% end %> <%= form.actions do %> - <%= form.action :submit, as: :button, label: t(".submit_#{@vehicle_journey.vehicle_journey_type}") %> + <%= form.action :submit, as: :button, label: t(".submit_#{vehicle_journey.journey_category}") %> <%= form.action :cancel, as: :link %> <% end %> <% end %> -<%= render 'form_footer' %> +<%= render 'form_footer', vehicle_journey: vehicle_journey %> diff --git a/app/views/vehicle_journeys/_form_footer.html.erb b/app/views/vehicle_journeys/_form_footer.html.erb index 1a5259348..c4c51b2b3 100644 --- a/app/views/vehicle_journeys/_form_footer.html.erb +++ b/app/views/vehicle_journeys/_form_footer.html.erb @@ -1,5 +1,5 @@ -<% if @vehicle_journey.new_record? %> +<% if vehicle_journey.new_record? %> <%= javascript_include_tag new_referential_line_route_vehicle_journey_path(@referential, @line, @route, :format => :js) %> <% else %> - <%= javascript_include_tag edit_referential_line_route_vehicle_journey_path(@referential, @line, @route, @vehicle_journey, :format => :js) %> + <%= javascript_include_tag edit_referential_line_route_vehicle_journey_path(@referential, @line, @route, vehicle_journey, :format => :js) %> <% end %> diff --git a/app/views/vehicle_journeys/_form_vehicle_journey_at_stops.html.erb b/app/views/vehicle_journeys/_form_vehicle_journey_at_stops.html.erb index 826733135..7e9bc1b38 100644 --- a/app/views/vehicle_journeys/_form_vehicle_journey_at_stops.html.erb +++ b/app/views/vehicle_journeys/_form_vehicle_journey_at_stops.html.erb @@ -1,4 +1,7 @@ -<% unless @vehicle_journey.vehicle_journey_at_stops.empty? || @vehicle_journey.vehicle_journey_at_stops.any? { |vjas| vjas.departure_time.nil? } %> +<li class="input"> + <%= form.label vehicle_journey.human_attribute_name(:vehicle_journey_at_stop_ids), :class => "label" %> +</li> +<% unless vehicle_journey.vehicle_journey_at_stops.empty? || vehicle_journey.vehicle_journey_at_stops.any? { |vjas| vjas.departure_time.nil? } %> <div class="vehicle_journey_at_stops"> <div class="well"> <span class="title"><%= t('vehicle_journeys.form.slide_title') %></span> @@ -6,8 +9,8 @@ <span><%= t('vehicle_journeys.form.set') %></span> <%= select_tag '', options_for_select( [ [t('vehicle_journeys.form.slide_departure'), "departure"], [t('vehicle_journeys.form.slide_arrival'), "arrival"] ] ), :class => "departure_or_arrival" %> <span><%= t('vehicle_journeys.form.to') %></span> - <%= select_hour(@vehicle_journey.vehicle_journey_at_stops.first.departure_time.hour) %> - <%= select_minute(@vehicle_journey.vehicle_journey_at_stops.first.departure_time.min) %> + <%= select_hour(vehicle_journey.vehicle_journey_at_stops.first.departure_time.hour) %> + <%= select_minute(vehicle_journey.vehicle_journey_at_stops.first.departure_time.min) %> <a class="slide btn btn-default"><%= t('vehicle_journeys.form.slide') %></a> </div> </div> @@ -24,14 +27,23 @@ </thead> <tfoot> <tr> - <td class="title"><a class="to_departures"><%= t('vehicle_journeys.form.to_departures') %></a></td> + <td class="title"> + <%= button_tag 'data-ce-action' => 'to_departures', class: 'ce-hide btn btn-primary' do %> + <%= t('vehicle_journeys.form.to_departures').html_safe %> + <i class="fa fa-angle-double-right"></i> + <% end %> <td class="title"></td> - <td class="title"><a class="to_arrivals"><%= t('vehicle_journeys.form.to_arrivals') %></a></td> + <td class="title"> + <%= button_tag 'data-ce-action' => 'to_arrivals', class: 'ce-hide btn btn-primary' do %> + <i class="fa fa-angle-double-left"></i> + <%= t('vehicle_journeys.form.to_arrivals').html_safe %> + <% end %> + </td> </tr> </tfoot> <tbody class="journey_pattern_dependent_list"> <%= render :partial => "vehicle_journeys/vehicle_journey_at_stop_fields", - :collection => @vehicle_journey.vehicle_journey_at_stops, :as => :vehicle_journey_at_stop, - :locals => { :vehicle_journey_at_stops_size => @vehicle_journey.vehicle_journey_at_stops.size } %> + :collection => vehicle_journey.vehicle_journey_at_stops, :as => :vehicle_journey_at_stop, + :locals => { :vehicle_journey_at_stops_size => vehicle_journey.vehicle_journey_at_stops.size } %> </tbody> </table> diff --git a/app/views/vehicle_journeys/_show_sidebar.html.erb b/app/views/vehicle_journeys/_show_sidebar.html.erb index e649edaef..5ab7d449a 100644 --- a/app/views/vehicle_journeys/_show_sidebar.html.erb +++ b/app/views/vehicle_journeys/_show_sidebar.html.erb @@ -1,7 +1,7 @@ <% content_for :sidebar do %> <ul class="actions"> <li><%= link_to t('vehicle_journeys.actions.new'), new_referential_line_route_vehicle_journey_path(@referential, @line, @route), :class => "add" %></li> - <li><%= link_to t('vehicle_journeys.actions.new_frequency'), new_referential_line_route_vehicle_journeys_frequency_path(@referential, @line, @route), :class => "add" %></li> + <li><%= link_to t('vehicle_journeys.actions.new_frequency'), new_referential_line_route_vehicle_journey_frequency_path(@referential, @line, @route), :class => "add" %></li> <li><%= link_to t('vehicle_journeys.actions.edit'), edit_referential_line_route_vehicle_journey_path(@referential, @line, @route, @vehicle_journey), :class => "edit" %></li> <li><%= link_to t('vehicle_journeys.actions.destroy'), referential_line_route_vehicle_journey_path(@referential, @line, @route, @vehicle_journey), :method => :delete, :data => {:confirm => t('vehicle_journeys.actions.destroy_confirm')}, :class => "remove" %></li> <% unless @vehicle_journey.vehicle_journey_at_stops.empty? %> diff --git a/app/views/vehicle_journeys/_show_vehicle_journey_at_stops.html.erb b/app/views/vehicle_journeys/_show_vehicle_journey_at_stops.html.erb index e2e0ef82e..cb4a95263 100644 --- a/app/views/vehicle_journeys/_show_vehicle_journey_at_stops.html.erb +++ b/app/views/vehicle_journeys/_show_vehicle_journey_at_stops.html.erb @@ -2,9 +2,9 @@ <table class="table table-hover table-striped"> <thead> <tr> - <th class="hour title"><%= t('.arrival') %></th> - <th class="stop title" ><%= t('.stop_title') %></th> - <th class="hour title"><%= t('.departure') %></th> + <th class="hour title"><%= t('vehicle_journeys.show.arrival') %></th> + <th class="stop title" ><%= t('vehicle_journeys.show.stop_title') %></th> + <th class="hour title"><%= t('vehicle_journeys.show.departure') %></th> </tr> <thead> <tbody> diff --git a/app/views/vehicle_journeys/_sidebar.html.erb b/app/views/vehicle_journeys/_sidebar.html.erb index 4522fa109..11260cd7b 100644 --- a/app/views/vehicle_journeys/_sidebar.html.erb +++ b/app/views/vehicle_journeys/_sidebar.html.erb @@ -1,6 +1,6 @@ <ul class="actions"> <li><%= link_to t('vehicle_journeys.actions.new'), new_referential_line_route_vehicle_journey_path(@referential, @line, @route), :class => "add" %></li> - <li><%= link_to t('vehicle_journeys.actions.new_frequency'), new_referential_line_route_vehicle_journeys_frequency_path(@referential, @line, @route), :class => "add" %></li> + <li><%= link_to t('vehicle_journeys.actions.new_frequency'), new_referential_line_route_vehicle_journey_frequency_path(@referential, @line, @route), :class => "add" %></li> <li><%= link_to t('vehicle_journey_imports.new.title'), new_referential_line_route_vehicle_journey_import_path( @referential, @line, @route ), :class => "import" %></li> <li><%= link_to t('vehicle_journey_exports.new.title'), referential_line_route_vehicle_journey_exports_path(@referential, @line, @route, :format => :zip), :class => "export" %></li> </ul> diff --git a/app/views/vehicle_journeys/edit.html.erb b/app/views/vehicle_journeys/edit.html.erb index 2d87ffe57..0d3a2db96 100644 --- a/app/views/vehicle_journeys/edit.html.erb +++ b/app/views/vehicle_journeys/edit.html.erb @@ -1,5 +1,5 @@ <%= title_tag edit_vehicle_title(@vehicle_journey) %> -<%= render 'form', form_url: referential_line_route_vehicle_journey_path(@referential, @line, @route, @vehicle_journey) %> +<%= render 'form', vehicle_journey: @vehicle_journey, form_url: referential_line_route_vehicle_journey_path(@referential, @line, @route, @vehicle_journey) %> diff --git a/app/views/vehicle_journeys/new.html.erb b/app/views/vehicle_journeys/new.html.erb index 19b31e422..c3354449a 100644 --- a/app/views/vehicle_journeys/new.html.erb +++ b/app/views/vehicle_journeys/new.html.erb @@ -1,4 +1,4 @@ <%= title_tag t('vehicle_journeys.new.title') %> -<%= render partial: 'form', locals: { form_url: referential_line_route_vehicle_journeys_path(@referential, @line, @route, @vehicle_journey) } %> +<%= render partial: 'form', locals: { vehicle_journey: @vehicle_journey, form_url: referential_line_route_vehicle_journeys_path(@referential, @line, @route, @vehicle_journey) } %> diff --git a/app/views/vehicle_journeys/new.js.erb b/app/views/vehicle_journeys/new.js.erb index 65e5dfccb..160e7a34b 100644 --- a/app/views/vehicle_journeys/new.js.erb +++ b/app/views/vehicle_journeys/new.js.erb @@ -1,10 +1,13 @@ $(document).ready(function() { $("#vehicle_journey_journey_pattern_id").change( function(){ - var url = "<%= referential_line_route_journey_patterns_path(@referential.id,@line.id,@route.id) %>"; - url = url + "/" + $("#vehicle_journey_journey_pattern_input select option:selected").attr("value") + - "/new_vehicle_journey"; - $.get(url); + var vehicle_journey_journey_pattern_id = $("#vehicle_journey_journey_pattern_input select option:selected").attr("value"); + if (vehicle_journey_journey_pattern_id > 0) { + var url = "<%= referential_line_route_journey_patterns_path(@referential.id,@line.id,@route.id) %>"; + url = url + "/" + vehicle_journey_journey_pattern_id + + "/new_vehicle_journey"; + $.get(url); + } } ) }); diff --git a/app/views/vehicle_journeys_frequencies/_form_footer.html.erb b/app/views/vehicle_journeys_frequencies/_form_footer.html.erb deleted file mode 100644 index 1217e2c08..000000000 --- a/app/views/vehicle_journeys_frequencies/_form_footer.html.erb +++ /dev/null @@ -1,5 +0,0 @@ -<% if @vehicle_journey.new_record? %> - <%= javascript_include_tag new_referential_line_route_vehicle_journeys_frequency_path(@referential, @line, @route, :format => :js) %> -<% else %> - <%= javascript_include_tag edit_referential_line_route_vehicle_journeys_frequency_path(@referential, @line, @route, @vehicle_journey, :format => :js) %> -<% end %> diff --git a/app/views/vehicle_journeys_frequencies/_form_vehicle_journey_at_stops.html.erb b/app/views/vehicle_journeys_frequencies/_form_vehicle_journey_at_stops.html.erb deleted file mode 100644 index 4bbb0671d..000000000 --- a/app/views/vehicle_journeys_frequencies/_form_vehicle_journey_at_stops.html.erb +++ /dev/null @@ -1,17 +0,0 @@ -<li class="input"> - <label class="label">Durée d'intervalle du trajet</label> - <table class="journey_pattern_dependent_list ce-TimeBandFormTable"> - <%= render :partial => 'vehicle_journey_at_stop_fields', - :collection => @vehicle_journey.vehicle_journey_at_stops, :as => :vehicle_journey_at_stop, - :locals => { :vehicle_journey_at_stops_size => @vehicle_journey.vehicle_journey_at_stops.size } %> - </table> -</li> - -<% form.semantic_fields_for :frequencies do |frequency| %> - <%= render 'frequency_fields', f: frequency %> -<% end %> - -<li class="input"> - <label class="label"></label> - <%= link_to_add_association t('frequencies.form.add_frequency_line'), form, :frequencies, class: 'btn btn-primary' %> -</li> diff --git a/app/views/vehicle_journeys_frequencies/_frequency.html.erb b/app/views/vehicle_journeys_frequencies/_frequency.html.erb deleted file mode 100644 index a0d4d3ca5..000000000 --- a/app/views/vehicle_journeys_frequencies/_frequency.html.erb +++ /dev/null @@ -1,8 +0,0 @@ -<tr> - <td></td> - <td><%= frequency.first_departure_time %></td> - <td><%= frequency.last_departure_time %></td> - <td><%= frequency.scheduled_headway_interval %></td> - <td><%= frequency.exact_time %></td> - <td><i class="fa fa-trash"></i></td> -</tr> diff --git a/app/views/vehicle_journeys_frequencies/_frequency_fields.html.erb b/app/views/vehicle_journeys_frequencies/_frequency_fields.html.erb deleted file mode 100644 index 57a0baf3d..000000000 --- a/app/views/vehicle_journeys_frequencies/_frequency_fields.html.erb +++ /dev/null @@ -1,14 +0,0 @@ -<li class="nested-fields"> - <ul class="ce-FrequencyFormFields"> - <%= f.input :first_departure_time %> - <%= f.input :last_departure_time %> - <%= f.input :scheduled_headway_interval %> - <%= f.input :exact_time %> - <li> - <label class="label"></label> - <%= link_to_remove_association f do %> - <i class="fa fa-trash"></i> - <% end %> - </li> - </ul> -</li> diff --git a/app/views/vehicle_journeys_frequencies/_vehicle_journey_at_stop_fields.html.erb b/app/views/vehicle_journeys_frequencies/_vehicle_journey_at_stop_fields.html.erb deleted file mode 100644 index 44da12328..000000000 --- a/app/views/vehicle_journeys_frequencies/_vehicle_journey_at_stop_fields.html.erb +++ /dev/null @@ -1,54 +0,0 @@ -<% vjas = vehicle_journey_at_stop - tab_counter_arrival = 2 * vehicle_journey_at_stop_counter + 100 - tab_counter_departure = (vehicle_journey_at_stops_size * 2) + 2 * vehicle_journey_at_stop_counter + 100 -%> -<tr> - <td> - <%= { - id: vjas.id, - _destroy: (vjas._destroy ? 1 : 0), - stop_point_id: vjas.stop_point_id, - is_frequency: true, - :'departure_time(3i)' => 1, - :'departure_time(2i)' => 1, - :'departure_time(1i)' => 1, - :'arrival_time(3i)' => 1, - :'arrival_time(2i)' => 1, - :'arrival_time(1i)' => 2000 - }.map{ |k, v| - "<input name=\"vehicle_journey[vehicle_journey_at_stops_attributes][#{vehicle_journey_at_stop_counter}][#{k}]\" - type=\"hidden\" value=\"#{v}\">" }.join("\n").html_safe %> - - <%= vjas.stop_point.stop_area.name %> - </td> - <td class="ce-TimeBandFormTable-circleLine"> - <span class="ce-TimeBandFormTable-circle"></span> - <span class="ce-TimeBandFormTable-line"></span> - </td> - <td> - <ul class="ce-TimeBandFormTable-subList"> - <li> - <span>Durée d'attente</span> - <%= select_hour(vjas.arrival_time ? vjas.arrival_time.hour : 0, - { :prefix => "vehicle_journey", - :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][arrival_time(4i)]" }, - :class => "hour") %> - <%= select_minute(vjas.arrival_time ? vjas.arrival_time.min : 0, - { :prefix => "vehicle_journey", - :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][arrival_time(5i)]" }, - :class => "minute") %> - </li> - <li> - <span>Durée de parcours</span> - <%= select_hour(vjas.departure_time ? vjas.departure_time.hour : 0, - { :prefix => 'vehicle_journey', - :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][departure_time(4i)]" }, - :class => 'hour') %> - <%= select_minute(vjas.departure_time ? vjas.departure_time.min : 0, - { :prefix => 'vehicle_journey', - :field_name => "vehicle_journey_at_stops_attributes[#{vehicle_journey_at_stop_counter}][departure_time(5i)]" }, - :class => 'minute') %> - </li> - </ul> - </td> -</tr> diff --git a/app/views/vehicle_journeys_frequencies/edit.html.erb b/app/views/vehicle_journeys_frequencies/edit.html.erb deleted file mode 100644 index 8b9942d95..000000000 --- a/app/views/vehicle_journeys_frequencies/edit.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -<%= title_tag edit_vehicle_title(@vehicle_journey) %> - -<%= render 'vehicle_journeys/form', form_url: referential_line_route_vehicle_journeys_frequency_path(@referential, @line, @route, id: @vehicle_journey) %> diff --git a/app/views/vehicle_journeys_frequencies/new.html.erb b/app/views/vehicle_journeys_frequencies/new.html.erb deleted file mode 100644 index 67ff079a3..000000000 --- a/app/views/vehicle_journeys_frequencies/new.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -<%= title_tag t('vehicle_journeys.new.title_frequency') %> - -<%= render 'vehicle_journeys/form', form_url: referential_line_route_vehicle_journeys_frequencies_path(@referential, @line, @route, @vehicle_journey) %> diff --git a/app/views/vehicle_journeys_frequencies/new.js.erb b/app/views/vehicle_journeys_frequencies/new.js.erb deleted file mode 100644 index c6fb98b22..000000000 --- a/app/views/vehicle_journeys_frequencies/new.js.erb +++ /dev/null @@ -1,10 +0,0 @@ -$(document).ready(function() { - $("#vehicle_journey_journey_pattern_id").change( - function(){ - var url = "<%= referential_line_route_journey_patterns_path(@referential.id,@line.id,@route.id) %>"; - url = url + "/" + $("#vehicle_journey_journey_pattern_input select option:selected").attr("value") + - "/new_vehicle_journey?suffix=frequencies"; - $.get(url); - } - ) -}); diff --git a/config/locales/breadcrumbs.yml b/config/locales/breadcrumbs.yml index ba3b4d8b2..c40e5dd9b 100644 --- a/config/locales/breadcrumbs.yml +++ b/config/locales/breadcrumbs.yml @@ -1,12 +1,12 @@ en: breadcrumbs: vehicle_journeys: "Passing times" - vehicle_journeys_frequencies: "Times bands" + vehicle_journey_frequencies: "Times bands" referentials: "Home" users: "Users" fr: breadcrumbs: vehicle_journeys: "Horaires" - vehicle_journeys_frequencies: "Plages horaires" + vehicle_journey_frequencies: "Plages horaires" referentials: "Accueil" users: "Utilisateurs" diff --git a/config/locales/frequencies.en.yml b/config/locales/frequencies.en.yml deleted file mode 100644 index 9bd4250bd..000000000 --- a/config/locales/frequencies.en.yml +++ /dev/null @@ -1,9 +0,0 @@ -en: - frequencies: - time_band: Time band - form: - add_frequency_line: Add a line - first_departure: First departure - last_departure: Last departure - scheduled_headway_interval: Interval - exact_time: Exact? diff --git a/config/locales/frequencies.fr.yml b/config/locales/frequencies.fr.yml deleted file mode 100644 index 2bce7ae09..000000000 --- a/config/locales/frequencies.fr.yml +++ /dev/null @@ -1,9 +0,0 @@ -fr: - frequencies: - time_band: Plages horaires - form: - add_frequency_line: Ajouter une ligne - first_departure: Premier départ - last_departure: Dernier départ - scheduled_headway_interval: Intervalle - exact_time: Exact ? diff --git a/config/locales/journey_frequencies.en.yml b/config/locales/journey_frequencies.en.yml new file mode 100644 index 000000000..6393c13ad --- /dev/null +++ b/config/locales/journey_frequencies.en.yml @@ -0,0 +1,12 @@ +en: + journey_frequencies: + time_band: Time band + form: + add_line: Add a line + activerecord: + attributes: + journey_frequency: + first_departure_time: First departure + last_departure_time: Last departure + scheduled_headway_interval: Interval + exact_time: Exact? diff --git a/config/locales/journey_frequencies.fr.yml b/config/locales/journey_frequencies.fr.yml new file mode 100644 index 000000000..790bc1150 --- /dev/null +++ b/config/locales/journey_frequencies.fr.yml @@ -0,0 +1,12 @@ +fr: + journey_frequencies: + time_band: Plages horaires + form: + add_line: Ajouter une ligne + activerecord: + attributes: + journey_frequency: + first_departure_time: Premier départ + last_departure_time: Dernier départ + scheduled_headway_interval: Intervalle + exact_time: Exact ? diff --git a/config/locales/vehicle_journeys.en.yml b/config/locales/vehicle_journeys.en.yml index cb4c9d649..36b7b11df 100644 --- a/config/locales/vehicle_journeys.en.yml +++ b/config/locales/vehicle_journeys.en.yml @@ -7,15 +7,15 @@ en: title: "Vehicle journey leaving from %{stop} at %{time}" actions: index: "Vehicle time's board" - new: "Add a new vehicle journey" - new_frequency: "Add a new vehicle frequency journey" - edit: "Edit this vehicle journey" - edit_frequency: "Edit this vehicle frequency journey" + new: "Add a new timed vehicle journey" + new_frequency: "Add a new frequency vehicle journey" + edit: "Edit this timed vehicle journey" + edit_frequency: "Edit this frequency vehicle journey" destroy: "Remove this vehicle journey" destroy_confirm: "Are you sure you want destroy this vehicle journey?" new: title: "Add a new vehicle journey" - title_frequency: "Add a new vehicle frequency journey" + title_frequency: "Add a new frequency vehicle journey" edit: title_stopless: "Update vehicle journey %{name}" title: "Update vehicle journey %{name} leaving from %{stop} at %{time}" @@ -32,8 +32,8 @@ en: to: "at" slide_departure: "departure time at first stop" slide_arrival: "arrival time at first stop" - submit: "Create vehicle journey" - submit_frequency: "Create vehicle frequency journey" + submit_timed: "Create vehicle journey" + submit_frequency: "Create frequency vehicle journey" timeless: title: "Timeless vehicle journeys" vehicle_journeys: "Vehicle journeys with times at stop" @@ -91,6 +91,7 @@ en: vehicletypeidentifier: "Vehicle Type Identifier" time_table_ids: "Calendar list" vehicle_journey_at_stop_ids: "Time list" + journey_frequency_ids: "Interval time duration" objectid: "Neptune identifier" object_version: "Version" creation_time: "Created on" diff --git a/config/locales/vehicle_journeys.fr.yml b/config/locales/vehicle_journeys.fr.yml index 9d16adff8..cf80e0924 100644 --- a/config/locales/vehicle_journeys.fr.yml +++ b/config/locales/vehicle_journeys.fr.yml @@ -7,14 +7,14 @@ fr: title: "Course partant de %{stop} à %{time}" actions: index: "Horaires des courses" - new: "Ajouter une course" + new: "Ajouter une course à horaire" new_frequency: "Ajouter une course à fréquence" - edit: "Modifier cette course" + edit: "Modifier cette course à horaire" edit_frequency: "Modifier cette course à fréquence" destroy: "Supprimer cette course" destroy_confirm: "Etes vous sûr de supprimer cette course ?" new: - title: "Ajouter une course" + title: "Ajouter une course à horaire" title_frequency: "Ajouter une course à fréquence" edit: title_stopless: "Modifier la course %{name}" @@ -32,7 +32,7 @@ fr: to: "à" slide_departure: "horaire de départ au 1° arrêt à" slide_arrival: "horaire d'arrivée au 1° arrêt à" - submit: "Créer course" + submit_timed: "Créer course" submit_frequency: "Créer course à fréquence" timeless: title: "Courses sans horaire" @@ -91,6 +91,7 @@ fr: vehicle_type_identifier: "Type d'identifiant du véhicule" time_table_ids: "Liste des calendriers" vehicle_journey_at_stop_ids: "Liste des horaires" + journey_frequency_ids: "Durée d'intervalle du trajet" objectid: "Identifiant Neptune" object_version: "Version" creation_time: "Créé le" diff --git a/config/routes.rb b/config/routes.rb index b03f6ebac..4cb5f9439 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -70,7 +70,7 @@ ChouetteIhm::Application.routes.draw do get 'new_vehicle_journey' end end - resources :vehicle_journeys, :vehicle_journeys_frequencies do + resources :vehicle_journeys, :vehicle_journey_frequencies do get 'select_journey_pattern', :on => :member resources :vehicle_translations resources :time_tables diff --git a/db/migrate/20151015150300_create_frequencies.ninoxe_engine.rb b/db/migrate/20151015150300_create_journey_frequencies.ninoxe_engine.rb index 152825222..e5c763ab7 100644 --- a/db/migrate/20151015150300_create_frequencies.ninoxe_engine.rb +++ b/db/migrate/20151015150300_create_journey_frequencies.ninoxe_engine.rb @@ -1,7 +1,7 @@ # This migration comes from ninoxe_engine (originally 20151015143707) -class CreateFrequencies < ActiveRecord::Migration +class CreateJourneyFrequencies < ActiveRecord::Migration def change - create_table :frequencies do |t| + create_table :journey_frequencies do |t| t.references :vehicle_journey, index: true t.time :scheduled_headway_interval, null: false t.time :first_departure_time, null: false diff --git a/db/migrate/20151022150419_add_journey_category_to_vehicle_journey.ninoxe_engine.rb b/db/migrate/20151022150419_add_journey_category_to_vehicle_journey.ninoxe_engine.rb new file mode 100644 index 000000000..b8af53f24 --- /dev/null +++ b/db/migrate/20151022150419_add_journey_category_to_vehicle_journey.ninoxe_engine.rb @@ -0,0 +1,6 @@ +# This migration comes from ninoxe_engine (originally 20151022150156) +class AddJourneyCategoryToVehicleJourney < ActiveRecord::Migration + def change + add_column :vehicle_journeys, :journey_category, :integer, null: false, default: 0 + end +end diff --git a/db/migrate/20151022150419_add_vehicle_journey_type_to_vehicle_journey.ninoxe_engine.rb b/db/migrate/20151022150419_add_vehicle_journey_type_to_vehicle_journey.ninoxe_engine.rb deleted file mode 100644 index e5af3caba..000000000 --- a/db/migrate/20151022150419_add_vehicle_journey_type_to_vehicle_journey.ninoxe_engine.rb +++ /dev/null @@ -1,6 +0,0 @@ -# This migration comes from ninoxe_engine (originally 20151022150156) -class AddVehicleJourneyTypeToVehicleJourney < ActiveRecord::Migration - def change - add_column :vehicle_journeys, :vehicle_journey_type, :integer, null: false, default: 0 - end -end diff --git a/db/schema.rb b/db/schema.rb index ee77ef01d..4f7945953 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20151015150300) do +ActiveRecord::Schema.define(version: 20151022150419) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -191,18 +191,6 @@ ActiveRecord::Schema.define(version: 20151015150300) do t.integer "footnote_id", limit: 8 end - create_table "frequencies", force: true do |t| - t.integer "vehicle_journey_id" - t.time "scheduled_headway_interval", null: false - t.time "first_departure_time", null: false - t.time "last_departure_time" - t.boolean "exact_time", default: false - t.datetime "created_at" - t.datetime "updated_at" - end - - add_index "frequencies", ["vehicle_journey_id"], name: "index_frequencies_on_vehicle_journey_id", using: :btree - create_table "group_of_lines", force: true do |t| t.string "objectid", null: false t.integer "object_version" @@ -220,6 +208,18 @@ ActiveRecord::Schema.define(version: 20151015150300) do t.integer "line_id", limit: 8 end + create_table "journey_frequencies", force: true do |t| + t.integer "vehicle_journey_id" + t.time "scheduled_headway_interval", null: false + t.time "first_departure_time", null: false + t.time "last_departure_time" + t.boolean "exact_time", default: false + t.datetime "created_at" + t.datetime "updated_at" + end + + add_index "journey_frequencies", ["vehicle_journey_id"], name: "index_journey_frequencies_on_vehicle_journey_id", using: :btree + create_table "journey_patterns", force: true do |t| t.integer "route_id", limit: 8 t.string "objectid", null: false @@ -549,7 +549,7 @@ ActiveRecord::Schema.define(version: 20151015150300) do t.integer "number", limit: 8 t.boolean "mobility_restricted_suitability" t.boolean "flexible_service" - t.integer "vehicle_journey_type", default: 0, null: false + t.integer "journey_category", default: 0, null: false end add_index "vehicle_journeys", ["objectid"], name: "vehicle_journeys_objectid_key", unique: true, using: :btree diff --git a/spec/controllers/vehicle_journey_frequencies_controller_spec.rb b/spec/controllers/vehicle_journey_frequencies_controller_spec.rb new file mode 100644 index 000000000..6316d328a --- /dev/null +++ b/spec/controllers/vehicle_journey_frequencies_controller_spec.rb @@ -0,0 +1,5 @@ +require 'rails_helper' + +RSpec.describe VehicleJourneyFrequenciesController, :type => :controller do + +end diff --git a/spec/controllers/vehicle_journeys_frequencies_controller_spec.rb b/spec/controllers/vehicle_journeys_frequencies_controller_spec.rb deleted file mode 100644 index 735ffe5db..000000000 --- a/spec/controllers/vehicle_journeys_frequencies_controller_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -require 'rails_helper' - -RSpec.describe VehicleJourneysFrequenciesController, :type => :controller do - -end diff --git a/spec/helpers/vehicle_journeys_frequencies_helper_spec.rb b/spec/helpers/vehicle_journey_frequencies_helper_spec.rb index 4c881f90f..a43081e17 100644 --- a/spec/helpers/vehicle_journeys_frequencies_helper_spec.rb +++ b/spec/helpers/vehicle_journey_frequencies_helper_spec.rb @@ -1,15 +1,15 @@ require 'rails_helper' # Specs in this file have access to a helper object that includes -# the VehicleJourneysFrequenciesHelper. For example: +# the VehicleJourneyFrequenciesHelper. For example: # -# describe VehicleJourneysFrequenciesHelper do +# describe VehicleJourneyFrequenciesHelper do # describe "string concat" do # it "concats two strings with spaces" do # expect(helper.concat_strings("this","that")).to eq("this that") # end # end # end -RSpec.describe VehicleJourneysFrequenciesHelper, :type => :helper do +RSpec.describe VehicleJourneyFrequenciesHelper, :type => :helper do pending "add some examples to (or delete) #{__FILE__}" end |
