diff options
| author | Luc Donnet | 2018-04-12 16:35:56 +0200 |
|---|---|---|
| committer | GitHub | 2018-04-12 16:35:56 +0200 |
| commit | 94090e82bfb5f875f70aa1e8bffb8a51724eb760 (patch) | |
| tree | e8ab510c12e4e9a43f8696531e74477485121b32 | |
| parent | 3488bd48b98b77bf31a0f254a8059f04e450440f (diff) | |
| parent | d79680f013d63f377bd8655f2a095d231d4b0441 (diff) | |
| download | chouette-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.rb | 4 | ||||
| -rw-r--r-- | app/models/chouette/vehicle_journey.rb | 3 |
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 |
