diff options
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 | 
