aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Donnet2018-04-12 16:35:56 +0200
committerGitHub2018-04-12 16:35:56 +0200
commit94090e82bfb5f875f70aa1e8bffb8a51724eb760 (patch)
treee8ab510c12e4e9a43f8696531e74477485121b32
parent3488bd48b98b77bf31a0f254a8059f04e450440f (diff)
parentd79680f013d63f377bd8655f2a095d231d4b0441 (diff)
downloadchouette-core-94090e82bfb5f875f70aa1e8bffb8a51724eb760.tar.bz2
Merge pull request #472 from af83/6527-fix-vjs-editor
6527 Fix VJs editor
-rw-r--r--app/controllers/vehicle_journeys_collections_controller.rb4
-rw-r--r--app/models/chouette/vehicle_journey.rb3
2 files changed, 5 insertions, 2 deletions
diff --git a/app/controllers/vehicle_journeys_collections_controller.rb b/app/controllers/vehicle_journeys_collections_controller.rb
index 712bcc154..a117888ab 100644
--- a/app/controllers/vehicle_journeys_collections_controller.rb
+++ b/app/controllers/vehicle_journeys_collections_controller.rb
@@ -9,8 +9,8 @@ class VehicleJourneysCollectionsController < ChouetteController
alias_method :route, :parent
def update
- state = JSON.parse request.raw_post
- Chouette::VehicleJourney.state_update route, state
+ state = JSON.parse request.raw_post
+ @resources = Chouette::VehicleJourney.state_update route, state
errors = state.any? {|item| item['errors']}
respond_to do |format|
diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb
index 54aad290c..c269d478e 100644
--- a/app/models/chouette/vehicle_journey.rb
+++ b/app/models/chouette/vehicle_journey.rb
@@ -244,11 +244,13 @@ module Chouette
end
def self.state_update route, state
+ objects = []
transaction do
state.each do |item|
item.delete('errors')
vj = find_by(objectid: item['objectid']) || state_create_instance(route, item)
next if item['deletable'] && vj.persisted? && vj.destroy
+ objects << vj
if vj.state_update_vjas?(item['vehicle_journey_at_stops'])
vj.update_vjas_from_state(item['vehicle_journey_at_stops'])
@@ -276,6 +278,7 @@ module Chouette
item['vehicle_journey_at_stops'].map {|vjas| vjas.delete('new_record') }
end
state.delete_if {|item| item['deletable']}
+ objects
end
def self.state_create_instance route, item