From bdff2081ca15c3a341c0f774eed40f7d99134cd7 Mon Sep 17 00:00:00 2001 From: Bruno Perles Date: Wed, 21 Oct 2015 17:32:59 +0200 Subject: Add vehicle journey frequency --- .../vehicle_journeys_frequencies.js.coffee | 3 ++ .../main/vehicle_journeys_frequencies.scss | 43 +++++++++++++++++ app/controllers/breadcrumb_controller.rb | 2 +- app/controllers/journey_patterns_controller.rb | 2 +- app/controllers/vehicle_journeys_controller.rb | 15 +++++- .../vehicle_journeys_frequencies_controller.rb | 30 ++++++++++++ app/helpers/application_helper.rb | 2 + app/helpers/breadcrumb_helper.rb | 8 ++++ app/helpers/vehicle_journeys_frequencies_helper.rb | 2 + app/views/vehicle_journeys/_form.html.erb | 49 +++----------------- app/views/vehicle_journeys/_form_footer.html.erb | 5 ++ .../_form_vehicle_journey_at_stops.html.erb | 37 +++++++++++++++ app/views/vehicle_journeys/_show_sidebar.html.erb | 15 ++++++ .../_show_vehicle_journey_at_stops.html.erb | 20 ++++++++ app/views/vehicle_journeys/_sidebar.html.erb | 11 +++-- app/views/vehicle_journeys/edit.html.erb | 3 +- app/views/vehicle_journeys/new.html.erb | 2 +- app/views/vehicle_journeys/show.html.erb | 34 +------------- .../_form_footer.html.erb | 5 ++ .../_form_vehicle_journey_at_stops.html.erb | 32 +++++++++++++ .../_frequency.html.erb | 8 ++++ .../_show_sidebar.html.erb | 16 +++++++ .../_show_vehicle_journey_at_stops.html.erb | 0 .../_vehicle_journey_at_stop_fields.html.erb | 54 ++++++++++++++++++++++ .../vehicle_journeys_frequencies/edit.html.erb | 3 ++ .../vehicle_journeys_frequencies/new.html.erb | 3 ++ app/views/vehicle_journeys_frequencies/new.js.erb | 10 ++++ .../select_journey_pattern.js.erb | 5 ++ 28 files changed, 334 insertions(+), 85 deletions(-) create mode 100644 app/assets/javascripts/vehicle_journeys_frequencies.js.coffee create mode 100644 app/assets/stylesheets/main/vehicle_journeys_frequencies.scss create mode 100644 app/controllers/vehicle_journeys_frequencies_controller.rb create mode 100644 app/helpers/vehicle_journeys_frequencies_helper.rb create mode 100644 app/views/vehicle_journeys/_form_footer.html.erb create mode 100644 app/views/vehicle_journeys/_form_vehicle_journey_at_stops.html.erb create mode 100644 app/views/vehicle_journeys/_show_sidebar.html.erb create mode 100644 app/views/vehicle_journeys/_show_vehicle_journey_at_stops.html.erb create mode 100644 app/views/vehicle_journeys_frequencies/_form_footer.html.erb create mode 100644 app/views/vehicle_journeys_frequencies/_form_vehicle_journey_at_stops.html.erb create mode 100644 app/views/vehicle_journeys_frequencies/_frequency.html.erb create mode 100644 app/views/vehicle_journeys_frequencies/_show_sidebar.html.erb create mode 100644 app/views/vehicle_journeys_frequencies/_show_vehicle_journey_at_stops.html.erb create mode 100644 app/views/vehicle_journeys_frequencies/_vehicle_journey_at_stop_fields.html.erb create mode 100644 app/views/vehicle_journeys_frequencies/edit.html.erb create mode 100644 app/views/vehicle_journeys_frequencies/new.html.erb create mode 100644 app/views/vehicle_journeys_frequencies/new.js.erb create mode 100644 app/views/vehicle_journeys_frequencies/select_journey_pattern.js.erb (limited to 'app') diff --git a/app/assets/javascripts/vehicle_journeys_frequencies.js.coffee b/app/assets/javascripts/vehicle_journeys_frequencies.js.coffee new file mode 100644 index 000000000..24f83d18b --- /dev/null +++ b/app/assets/javascripts/vehicle_journeys_frequencies.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://coffeescript.org/ diff --git a/app/assets/stylesheets/main/vehicle_journeys_frequencies.scss b/app/assets/stylesheets/main/vehicle_journeys_frequencies.scss new file mode 100644 index 000000000..0fa69f77d --- /dev/null +++ b/app/assets/stylesheets/main/vehicle_journeys_frequencies.scss @@ -0,0 +1,43 @@ +#workspace { + .ce-TimeBandFormTable { + border-left: 1px solid #616161; + } + .ce-TimeBandFormTable tr:hover td { + background-color: #eee; + } + .ce-TimeBandFormTable td { + padding: 0 20px 8px 20px; + vertical-align: top; + } + .ce-TimeBandFormTable tr:last-child td { + padding-bottom: 0; + } + .ce-TimeBandFormTable td:last-child { + text-align: right; + } + .ce-TimeBandFormTable-circleLine { + position: relative; + } + .ce-TimeBandFormTable-line:after { + content: ''; + position: absolute; + top: 0; + bottom: 0; + left: 50%; + width: 2px; + margin-left: -1px; + background-color: #61970b; + } + .ce-TimeBandFormTable-circle { + position: relative; + z-index: 999; + display: block; + width: 16px; + height: 16px; + border-radius: 8px; + background-color: #4d7809; + } + .ce-TimeBandFormTable-subList { + + } +} diff --git a/app/controllers/breadcrumb_controller.rb b/app/controllers/breadcrumb_controller.rb index 143651b52..c1bb4289c 100644 --- a/app/controllers/breadcrumb_controller.rb +++ b/app/controllers/breadcrumb_controller.rb @@ -27,7 +27,7 @@ class BreadcrumbController < InheritedResources::Base end def new - new! do + new! do build_breadcrumb :new end end diff --git a/app/controllers/journey_patterns_controller.rb b/app/controllers/journey_patterns_controller.rb index ce59d00b6..13018771d 100644 --- a/app/controllers/journey_patterns_controller.rb +++ b/app/controllers/journey_patterns_controller.rb @@ -36,7 +36,7 @@ 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/select_journey_pattern" + render "vehicle_journeys#{"_#{params[:suffix]}" if params[:suffix]}/select_journey_pattern" end # overwrite inherited resources to use delete instead of destroy diff --git a/app/controllers/vehicle_journeys_controller.rb b/app/controllers/vehicle_journeys_controller.rb index ace7aff5e..03dfbedc2 100644 --- a/app/controllers/vehicle_journeys_controller.rb +++ b/app/controllers/vehicle_journeys_controller.rb @@ -87,7 +87,20 @@ class VehicleJourneysController < ChouetteController private def vehicle_journey_params - params.require(:vehicle_journey).permit( { footnote_ids: [] } , :journey_pattern_id, :number, :published_journey_name, :published_journey_identifier, :comment, :transport_mode_name, :mobility_restricted_suitability, :flexible_service, :status_value, :facility, :vehicle_type_identifier, :objectid, :time_table_tokens, { date: [ :hour, :minute ] }, :button, :referential_id, :line_id, :route_id, :id, { vehicle_journey_at_stops_attributes: [ :arrival_time, :id, :_destroy, :stop_point_id, :departure_time ] } ) + params.require(:vehicle_journey).permit( { footnote_ids: [] } , :journey_pattern_id, :number, :published_journey_name, + :published_journey_identifier, :comment, :transport_mode_name, + :mobility_restricted_suitability, :flexible_service, :status_value, + :facility, :vehicle_type_identifier, :objectid, :time_table_tokens, + { date: [ :hour, :minute ] }, :button, :referential_id, :line_id, + :route_id, :id, { vehicle_journey_at_stops_attributes: [ :arrival_time, + :id, :_destroy, + :stop_point_id, + :departure_time, + :is_frequency] }, + { frequency: [ :scheduled_headway_interval, :first_departure_time, + :last_departure_time, + :exact_time ] }, + :is_frequency ) end end diff --git a/app/controllers/vehicle_journeys_frequencies_controller.rb b/app/controllers/vehicle_journeys_frequencies_controller.rb new file mode 100644 index 000000000..a16523316 --- /dev/null +++ b/app/controllers/vehicle_journeys_frequencies_controller.rb @@ -0,0 +1,30 @@ +class VehicleJourneysFrequenciesController < VehicleJourneysController + + defaults :resource_class => Chouette::VehicleJourney, :collection_name => 'vehicle_journeys', :instance_name => 'vehicle_journey' + + def new + new! do + resource.frequencies.build + end + end + + protected + + def build_resource + set_frequency(super) + end + + def resource + set_frequency(super) + end + + private + + def set_frequency(s) + s.tap do |vehicle_journey| + vehicle_journey.is_frequency = true + end + end + +end + diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index d3e9655b9..28e652f2f 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -51,6 +51,8 @@ module ApplicationHelper "group_of_lines" when path.include?("/vehicle_journeys") "vehicle_journeys" + when path.include?("/vehicle_journeys_frequencies") + "vehicle_journeys" when path.include?("/journey_patterns") "journey_patterns" when path.include?("/routes") diff --git a/app/helpers/breadcrumb_helper.rb b/app/helpers/breadcrumb_helper.rb index c98691b72..1f3c9a2ce 100644 --- a/app/helpers/breadcrumb_helper.rb +++ b/app/helpers/breadcrumb_helper.rb @@ -16,6 +16,8 @@ module BreadcrumbHelper journey_pattern_breadcrumb action when "Chouette::VehicleJourney" vehicle_journey_breadcrumb action + when "Chouette::VehicleJourneysFrequency" + vehicle_journeys_frequency_breadcrumb action when "VehicleJourneyImport" vehicle_journey_import_breadcrumb action when "Chouette::StopArea" @@ -124,6 +126,12 @@ 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) + 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 + end + def vehicle_journey_import_breadcrumb (action) route_breadcrumb :edit end diff --git a/app/helpers/vehicle_journeys_frequencies_helper.rb b/app/helpers/vehicle_journeys_frequencies_helper.rb new file mode 100644 index 000000000..b5a7926ea --- /dev/null +++ b/app/helpers/vehicle_journeys_frequencies_helper.rb @@ -0,0 +1,2 @@ +module VehicleJourneysFrequenciesHelper +end diff --git a/app/views/vehicle_journeys/_form.html.erb b/app/views/vehicle_journeys/_form.html.erb index e4b1ce432..2f0a66cfe 100644 --- a/app/views/vehicle_journeys/_form.html.erb +++ b/app/views/vehicle_journeys/_form.html.erb @@ -1,5 +1,6 @@ -<%= semantic_form_for [@referential, @line, @route, @vehicle_journey] 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 %> @@ -18,52 +19,14 @@ <%= form.label @vehicle_journey.human_attribute_name(:vehicle_journey_at_stop_ids), :class => "label" %> - <% unless @vehicle_journey.vehicle_journey_at_stops.empty? || - @vehicle_journey.vehicle_journey_at_stops.any? { |vjas| vjas.departure_time.nil? } %>
-
- <%= t(".slide_title") %> -
- <%= t(".set") %> <%= select_tag "", options_for_select( [ [t('.slide_departure'), "departure"], [t('.slide_arrival'), "arrival"] ] ), :class => "departure_or_arrival" %> <%= t(".to") %> - <%= select_hour(@vehicle_journey.vehicle_journey_at_stops.first.departure_time.hour) %> - <%= select_minute(@vehicle_journey.vehicle_journey_at_stops.first.departure_time.min) %> - <%= t(".slide") %> -
-
- <% end %> - - - - - - - - - - - - - - - - - - <%= 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 } %> - - -
<%= t('.arrival') %><%= t('.stop_title') %><%= t('.departure') %>
<%= t('.to_departures') %><%= t('.to_arrivals') %>
+ <%= render 'form_vehicle_journey_at_stops' %> <% end %> <%= form.actions do %> - <%= form.action :submit, :as => :button %> - <%= form.action :cancel, :as => :link %> + <%= form.action :submit, as: :button, label: t(".submit#{'_frequency' if @vehicle_journey.is_frequency}") %> + <%= form.action :cancel, as: :link %> <% end %> <% end %> -<% 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) %> -<% end %> - +<%= render 'form_footer' %> diff --git a/app/views/vehicle_journeys/_form_footer.html.erb b/app/views/vehicle_journeys/_form_footer.html.erb new file mode 100644 index 000000000..1a5259348 --- /dev/null +++ b/app/views/vehicle_journeys/_form_footer.html.erb @@ -0,0 +1,5 @@ +<% 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) %> +<% 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 new file mode 100644 index 000000000..826733135 --- /dev/null +++ b/app/views/vehicle_journeys/_form_vehicle_journey_at_stops.html.erb @@ -0,0 +1,37 @@ +<% unless @vehicle_journey.vehicle_journey_at_stops.empty? || @vehicle_journey.vehicle_journey_at_stops.any? { |vjas| vjas.departure_time.nil? } %> +
+
+ <%= t('vehicle_journeys.form.slide_title') %> +
+ <%= t('vehicle_journeys.form.set') %> + <%= select_tag '', options_for_select( [ [t('vehicle_journeys.form.slide_departure'), "departure"], [t('vehicle_journeys.form.slide_arrival'), "arrival"] ] ), :class => "departure_or_arrival" %> + <%= t('vehicle_journeys.form.to') %> + <%= select_hour(@vehicle_journey.vehicle_journey_at_stops.first.departure_time.hour) %> + <%= select_minute(@vehicle_journey.vehicle_journey_at_stops.first.departure_time.min) %> + <%= t('vehicle_journeys.form.slide') %> +
+
+
+<% end %> + + + + + + + + + + + + + + + + + + <%= 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 } %> + +
<%= t('vehicle_journeys.form.arrival') %><%= t('vehicle_journeys.form.stop_title') %><%= t('vehicle_journeys.form.departure') %>
<%= t('vehicle_journeys.form.to_departures') %><%= t('vehicle_journeys.form.to_arrivals') %>
diff --git a/app/views/vehicle_journeys/_show_sidebar.html.erb b/app/views/vehicle_journeys/_show_sidebar.html.erb new file mode 100644 index 000000000..e649edaef --- /dev/null +++ b/app/views/vehicle_journeys/_show_sidebar.html.erb @@ -0,0 +1,15 @@ +<% content_for :sidebar do %> + + <%= creation_tag(@vehicle_journey) %> +<% end %> 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 new file mode 100644 index 000000000..e2e0ef82e --- /dev/null +++ b/app/views/vehicle_journeys/_show_vehicle_journey_at_stops.html.erb @@ -0,0 +1,20 @@ +
+ + + + + + + + + + <% @vehicle_journey.vehicle_journey_at_stops.each_with_index do |vjas, index| %> + "> + + + + + <% end %> + +
<%= t('.arrival') %><%= t('.stop_title') %><%= t('.departure') %>
"><%= vjas.arrival_time ? l( vjas.arrival_time, :format => :hour) : "" %><%= link_to vjas.stop_point.stop_area.name, [@referential, vjas.stop_point.stop_area] %>"><%= vjas.departure_time ? l( vjas.departure_time, :format => :hour) : "" %>
+
diff --git a/app/views/vehicle_journeys/_sidebar.html.erb b/app/views/vehicle_journeys/_sidebar.html.erb index 8d6f310d3..4522fa109 100644 --- a/app/views/vehicle_journeys/_sidebar.html.erb +++ b/app/views/vehicle_journeys/_sidebar.html.erb @@ -1,6 +1,7 @@ - + diff --git a/app/views/vehicle_journeys/edit.html.erb b/app/views/vehicle_journeys/edit.html.erb index 51653a34a..2d87ffe57 100644 --- a/app/views/vehicle_journeys/edit.html.erb +++ b/app/views/vehicle_journeys/edit.html.erb @@ -1,4 +1,5 @@ <%= title_tag edit_vehicle_title(@vehicle_journey) %> -<%= render "form" %> +<%= render 'form', 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 a32e9cc31..19b31e422 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 "form" %> +<%= render partial: 'form', locals: { form_url: referential_line_route_vehicle_journeys_path(@referential, @line, @route, @vehicle_journey) } %> diff --git a/app/views/vehicle_journeys/show.html.erb b/app/views/vehicle_journeys/show.html.erb index 695b5c8b5..3bdfbb945 100644 --- a/app/views/vehicle_journeys/show.html.erb +++ b/app/views/vehicle_journeys/show.html.erb @@ -79,41 +79,11 @@

<%= @vehicle_journey.human_attribute_name(:vehicle_journey_at_stop_ids) %>

-
- - - - - - - - - - <% @vehicle_journey.vehicle_journey_at_stops.each_with_index do |vjas, index| %> - "> - - - - - <% end %> - -
<%= t('.arrival') %><%= t('.stop_title') %><%= t('.departure') %>
"><%= vjas.arrival_time ? l( vjas.arrival_time, :format => :hour) : "" %><%= link_to vjas.stop_point.stop_area.name, [@referential, vjas.stop_point.stop_area] %>"><%= vjas.departure_time ? l( vjas.departure_time, :format => :hour) : "" %>
-
+<%= render 'show_vehicle_journey_at_stops' %>

<%= t('.time_tables') %>

<%= paginated_content @vehicle_journey.time_tables, "time_tables/time_table", :delete => false %>
- -<% content_for :sidebar do %> - - <%= creation_tag(@vehicle_journey) %> -<% end %> +<%= render 'show_sidebar' %> diff --git a/app/views/vehicle_journeys_frequencies/_form_footer.html.erb b/app/views/vehicle_journeys_frequencies/_form_footer.html.erb new file mode 100644 index 000000000..1217e2c08 --- /dev/null +++ b/app/views/vehicle_journeys_frequencies/_form_footer.html.erb @@ -0,0 +1,5 @@ +<% 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 new file mode 100644 index 000000000..66351e654 --- /dev/null +++ b/app/views/vehicle_journeys_frequencies/_form_vehicle_journey_at_stops.html.erb @@ -0,0 +1,32 @@ +
  • + + + <%= 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 } %> +
    +
  • +
  • + + + + + + + + + + + + + + <%= render partial: 'frequency', collection: @vehicle_journey.frequencies, as: :frequency %> + + + + + + + +
    <%= t('frequencies.time_band') %><%= t('frequencies.first_departure') %><%= t('frequencies.last_departure') %><%= t('frequencies.scheduled_headway_interval') %><%= t('frequencies.exact_time') %>
    +
  • diff --git a/app/views/vehicle_journeys_frequencies/_frequency.html.erb b/app/views/vehicle_journeys_frequencies/_frequency.html.erb new file mode 100644 index 000000000..a0d4d3ca5 --- /dev/null +++ b/app/views/vehicle_journeys_frequencies/_frequency.html.erb @@ -0,0 +1,8 @@ + + + <%= frequency.first_departure_time %> + <%= frequency.last_departure_time %> + <%= frequency.scheduled_headway_interval %> + <%= frequency.exact_time %> + + diff --git a/app/views/vehicle_journeys_frequencies/_show_sidebar.html.erb b/app/views/vehicle_journeys_frequencies/_show_sidebar.html.erb new file mode 100644 index 000000000..7be0e4d63 --- /dev/null +++ b/app/views/vehicle_journeys_frequencies/_show_sidebar.html.erb @@ -0,0 +1,16 @@ +<% content_for :sidebar do %> + + <%= creation_tag(@vehicle_journey) %> +<% end %> diff --git a/app/views/vehicle_journeys_frequencies/_show_vehicle_journey_at_stops.html.erb b/app/views/vehicle_journeys_frequencies/_show_vehicle_journey_at_stops.html.erb new file mode 100644 index 000000000..e69de29bb 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 new file mode 100644 index 000000000..44da12328 --- /dev/null +++ b/app/views/vehicle_journeys_frequencies/_vehicle_journey_at_stop_fields.html.erb @@ -0,0 +1,54 @@ +<% 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 +%> + + + <%= { + 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| + "" }.join("\n").html_safe %> + + <%= vjas.stop_point.stop_area.name %> + + + + + + + + + diff --git a/app/views/vehicle_journeys_frequencies/edit.html.erb b/app/views/vehicle_journeys_frequencies/edit.html.erb new file mode 100644 index 000000000..8b9942d95 --- /dev/null +++ b/app/views/vehicle_journeys_frequencies/edit.html.erb @@ -0,0 +1,3 @@ +<%= 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 new file mode 100644 index 000000000..67ff079a3 --- /dev/null +++ b/app/views/vehicle_journeys_frequencies/new.html.erb @@ -0,0 +1,3 @@ +<%= 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 new file mode 100644 index 000000000..c6fb98b22 --- /dev/null +++ b/app/views/vehicle_journeys_frequencies/new.js.erb @@ -0,0 +1,10 @@ +$(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/app/views/vehicle_journeys_frequencies/select_journey_pattern.js.erb b/app/views/vehicle_journeys_frequencies/select_journey_pattern.js.erb new file mode 100644 index 000000000..59e9e2f4a --- /dev/null +++ b/app/views/vehicle_journeys_frequencies/select_journey_pattern.js.erb @@ -0,0 +1,5 @@ +$('.journey_pattern_dependent_list').html('<%= escape_javascript( + render(:partial => "vehicle_journeys_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 %>'); -- cgit v1.2.3