From b9e5f8f5dd642e7efd7969a3dd1571edea2facb8 Mon Sep 17 00:00:00 2001 From: Marc Florisson Date: Wed, 27 Jun 2012 15:09:24 +0200 Subject: fix Refs #77 --- app/controllers/journey_patterns_controller.rb | 8 ++++++++ app/controllers/vehicle_journeys_controller.rb | 15 +++++++++++++-- app/views/vehicle_journeys/_form.html.erb | 19 +++++-------------- app/views/vehicle_journeys/index.html.erb | 1 - app/views/vehicle_journeys/new.js.erb | 11 +++++++++++ 5 files changed, 37 insertions(+), 17 deletions(-) create mode 100644 app/views/vehicle_journeys/new.js.erb (limited to 'app') diff --git a/app/controllers/journey_patterns_controller.rb b/app/controllers/journey_patterns_controller.rb index 1ec15f7e8..d8611d6f9 100644 --- a/app/controllers/journey_patterns_controller.rb +++ b/app/controllers/journey_patterns_controller.rb @@ -2,6 +2,7 @@ class JourneyPatternsController < ChouetteController defaults :resource_class => Chouette::JourneyPattern respond_to :html + respond_to :js, :only => [:new_vehicle_journey] belongs_to :referential do belongs_to :line, :parent_class => Chouette::Line do @@ -16,4 +17,11 @@ class JourneyPatternsController < ChouetteController @stop_points = resource.stop_points.paginate(:page => params[:page], :per_page => 10) show! end + + def new_vehicle_journey + puts resource.inspect + @vehicle_journey = Chouette::VehicleJourney.new(:route_id => route.id) + @vehicle_journey.update_journey_pattern(resource) + render "vehicle_journeys/select_journey_pattern" + end end diff --git a/app/controllers/vehicle_journeys_controller.rb b/app/controllers/vehicle_journeys_controller.rb index d8dca65b5..9248f88de 100644 --- a/app/controllers/vehicle_journeys_controller.rb +++ b/app/controllers/vehicle_journeys_controller.rb @@ -1,7 +1,7 @@ class VehicleJourneysController < ChouetteController defaults :resource_class => Chouette::VehicleJourney - respond_to :js, :only => [:select_journey_pattern, :edit] + respond_to :js, :only => [:select_journey_pattern, :edit, :new] belongs_to :referential do belongs_to :line, :parent_class => Chouette::Line do @@ -18,8 +18,19 @@ class VehicleJourneysController < ChouetteController end end + def create + create!(:alert => t('activerecord.errors.models.vehicle_journey.invalid_times')) + end + def update - update!(:alert => "Hey pb") + update!(:alert => t('activerecord.errors.models.vehicle_journey.invalid_times')) + end + + def new + @vehicle_journey = Chouette::VehicleJourney.new( :route => @route) + @vehicle_journey.update_journey_pattern( parent.journey_patterns.first) if parent.journey_patterns.first + + new! end protected diff --git a/app/views/vehicle_journeys/_form.html.erb b/app/views/vehicle_journeys/_form.html.erb index f314e0453..6258d634a 100644 --- a/app/views/vehicle_journeys/_form.html.erb +++ b/app/views/vehicle_journeys/_form.html.erb @@ -4,18 +4,11 @@ <%= form.input :published_journey_name %> <%= form.input :published_journey_identifier %> <%= form.input :comment %> - <%= form.input :transport_mode, :as => :select, :collection => Chouette::Line.transport_modes, :include_blank => false, :member_label => Proc.new { |mode| t("transport_modes.label.#{mode}") } %> + <%= form.input :transport_mode, :as => :select, :collection => Chouette::Line.transport_modes, :include_blank => true, :member_label => Proc.new { |mode| t("transport_modes.label.#{mode}") } %> <%= form.input :status_value %> <%= form.input :facility %> <%= form.input :vehicle_type_identifier%> - <% if @vehicle_journey.new_record? %> - <%= form.input :objectid %> - <% else %> -
  • - - <%= @vehicle_journey.objectid %> -
  • - <% end %> + <%= form.input :objectid, :input_html => { :disabled => !@vehicle_journey.new_record? } %> <%= form.inputs :class => "stop_times", :name => @vehicle_journey.human_attribute_name(:vehicle_journey_at_stop_ids) do %> @@ -40,11 +33,7 @@
    <% end %> - <%= form.inputs :class => "time_tables", :name=> @vehicle_journey.human_attribute_name(:time_table_ids) do %> -
    <%= form.input :time_table_tokens, :label => t('.time_tables'), :as => :text, :input_html => { :"data-pre" => ( @vehicle_journey.time_tables.map { |time_table| { :id => time_table.id, :name => time_table.comment } } ).to_json } %> -
    - <% end %> <% end %> @@ -54,7 +43,9 @@ <% end %> <% end %> -<% unless @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) %> <% end %> diff --git a/app/views/vehicle_journeys/index.html.erb b/app/views/vehicle_journeys/index.html.erb index d449c839d..3d5bf31ac 100644 --- a/app/views/vehicle_journeys/index.html.erb +++ b/app/views/vehicle_journeys/index.html.erb @@ -87,4 +87,3 @@ <%= render :partial => "time_filter", :locals => { :time_field => "departure_time"} %> <% end %> -<% end %> diff --git a/app/views/vehicle_journeys/new.js.erb b/app/views/vehicle_journeys/new.js.erb new file mode 100644 index 000000000..473c6be57 --- /dev/null +++ b/app/views/vehicle_journeys/new.js.erb @@ -0,0 +1,11 @@ +$(document).ready(function() { + $("#vehicle_journey_journey_pattern_id").change( + function(){ + var url = "<%= "/referentials/#{@referential.id}/lines/#{@line.id}/routes/#{@route.id}/journey_patterns/" %>"; + url = url + $("#vehicle_journey_journey_pattern_input select option:selected").attr("value") + + "/new_vehicle_journey"; + $.get(url); + } + ) +}); + -- cgit v1.2.3