aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorMarc Florisson2012-06-27 15:09:24 +0200
committerMarc Florisson2012-06-27 15:09:24 +0200
commitb9e5f8f5dd642e7efd7969a3dd1571edea2facb8 (patch)
treeb22ea612fbac0ab6c8dc5e25e7fcb56bebe40453 /app
parent1f66921f559367af0b452a13f95a7d8c00c41b44 (diff)
downloadchouette-core-b9e5f8f5dd642e7efd7969a3dd1571edea2facb8.tar.bz2
fix Refs #77
Diffstat (limited to 'app')
-rw-r--r--app/controllers/journey_patterns_controller.rb8
-rw-r--r--app/controllers/vehicle_journeys_controller.rb15
-rw-r--r--app/views/vehicle_journeys/_form.html.erb19
-rw-r--r--app/views/vehicle_journeys/index.html.erb1
-rw-r--r--app/views/vehicle_journeys/new.js.erb11
5 files changed, 37 insertions, 17 deletions
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 %>
- <li>
- <label><%= @vehicle_journey.human_attribute_name("objectid") %>: </label>
- <%= @vehicle_journey.objectid %>
- </li>
- <% 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 %>
<table border="0" class="vehicle_journey_at_stops">
@@ -40,11 +33,7 @@
</tbody>
</table>
<% end %>
- <%= form.inputs :class => "time_tables", :name=> @vehicle_journey.human_attribute_name(:time_table_ids) do %>
- <div class="time_table_list">
<%= 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 } %>
- </div>
- <% 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);
+ }
+ )
+});
+